Programming Pig 2nd Edition
作者: Alan Gates and Daniel Dai
语言: 英文
出版年份: 2016
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

《Programming Pig》是由Alan Gates和Daniel Dai撰写的一本关于Pig数据处理框架的权威指南。本书由O’Reilly Media出版,第二版于2016年11月发布。Pig是一个用于处理大规模数据集的高层次数据流脚本语言,运行在Apache Hadoop之上。本书详细介绍了Pig的安装、配置、使用方法以及如何编写Pig Latin脚本,旨在帮助读者充分利用Pig的强大功能进行数据处理。

作者简介

Alan Gates和Daniel Dai都是Pig项目的贡献者。Alan Gates在Yahoo! Research工作期间参与了Pig的开发,并在本书中分享了他在数据处理领域的丰富经验。Daniel Dai则在Particle News工作,负责数据处理和分析,他在书中提供了实际应用案例和见解。

内容概述

第一章:Pig简介

本书开篇介绍了Pig的基本概念和用途。Pig提供了一个名为Pig Latin的数据流语言,用于在Hadoop上执行数据处理任务。Pig Latin是一种声明式语言,允许用户描述数据流,而无需深入了解底层的MapReduce实现。Pig的设计目标是简化大规模数据处理任务,使数据科学家和工程师能够更高效地处理和分析数据。

第二章:安装和运行Pig

本章详细介绍了如何下载和安装Pig,包括在不同操作系统上的安装步骤。作者还提供了如何在本地模式和集群模式下运行Pig的指导。此外,书中还介绍了如何使用Pig的交互式Shell(Grunt)以及如何通过命令行运行Pig脚本。

第三章:Pig的数据模型

本章深入探讨了Pig的数据模型,包括Pig支持的数据类型(如整数、长整型、浮点数、字符串等)以及如何处理复杂数据类型(如地图、元组和袋子)。作者还讨论了Pig如何处理缺失数据和模式不匹配的问题。

第四章:Pig Latin基础

本章介绍了Pig Latin的基本语法和操作,包括如何加载和存储数据、如何使用foreach进行数据转换、如何使用filter进行数据过滤等。作者还提供了如何使用Pig Latin进行数据排序、分组和连接的示例。

第五章:高级Pig Latin

本章进一步探讨了Pig Latin的高级功能,如嵌套foreach、排名(rank)、立方体(cube)和断言(assert)。这些功能使Pig Latin能够处理更复杂的数据处理任务,如多维数据分析和数据验证。

第六章:开发和测试Pig Latin脚本

本章提供了开发和测试Pig Latin脚本的实用工具和技巧,包括如何使用describe和explain命令调试脚本、如何使用illustrate命令查看数据流中的数据样本等。作者还介绍了如何使用PigUnit进行单元测试,以确保脚本的正确性和稳定性。

第七章:优化Pig性能

本章讨论了如何优化Pig脚本的性能,包括如何选择合适的数据类型、如何设置并行度、如何使用压缩减少数据传输量等。作者还介绍了如何使用Pig的性能调优参数,如map-side聚合和自动本地模式,以提高数据处理效率。

第八章:嵌入Pig

本章介绍了如何将Pig嵌入到脚本语言中,如Jython、JavaScript和Groovy。作者还提供了如何使用Pig的Java API在Java程序中调用Pig脚本的示例。这使得Pig可以与其他工具和系统更灵活地集成。

第九章:编写评估和过滤函数

本章详细介绍了如何在Pig中编写用户自定义函数(UDFs),包括评估函数和过滤函数。作者提供了如何在Java和脚本语言中实现UDFs的示例,并讨论了如何处理输入和输出模式、如何进行错误处理和进度报告等。

第十章:编写加载和存储函数

本章介绍了如何编写自定义的加载和存储函数,以处理特定的数据格式和存储机制。作者提供了如何实现LoadFunc和StoreFunc接口的示例,并讨论了如何处理元数据、如何进行数据投影下推和谓词下推等高级功能。

第十一章:Pig on Tez

本章介绍了Pig如何在Tez执行引擎上运行。作者讨论了Tez的优势,如性能提升、低延迟和更接近Pig语义的执行计划。书中还提供了如何在Pig中启用Tez、如何调试和测试Tez上的Pig脚本的指导。

第十二章:Pig与其他Hadoop生态系统项目

本章探讨了Pig与其他Hadoop生态系统项目的关系,如Hive、HCatalog、WebHCat、Cascading、Spark和NoSQL数据库。作者讨论了这些项目如何与Pig互补、集成或竞争,并提供了实际应用案例。

第十三章:实际案例和编程示例

本章通过多个实际案例展示了Pig的应用,如稀疏元组处理、k均值聚类算法实现、集合操作(交集和差集)的实现等。这些案例帮助读者更好地理解如何在实际场景中使用Pig进行数据处理和分析。

书籍特色

《Programming Pig》第二版涵盖了Pig 0.10到Pig 0.16的最新功能,包括新的数据类型、UDFs、操作符和性能优化。书中提供了丰富的示例代码和实际应用案例,帮助读者快速上手并深入理解Pig的使用方法。此外,书中还讨论了Pig在不同场景下的应用,如ETL、研究和迭代处理,使其成为数据科学家和工程师在大数据处理领域的宝贵参考资料。

期待您的支持
捐助本站