Pig编程指南
Alan Gates
曹坤 译
出版时间:2013年01月
页数:191
“……Pig这样的工具为数据使用者提供了一种较高层次的抽象,使用户可以借助Hadoop强大的处理能力和灵活性,而并不需要用底层Java代码来编写大量的数据处理程序。”
——摘自本书前言


Apache Pig是基于Hadoop的并行数据流处理开源引擎。使用Pig,用户无需开发一个全功能的应用程序就可以批处理数据,这使得在新数据集上进行试验变得更加容易。
本书是学习Apache Pig的理想读物及参考书。全书不仅为初学者讲授Pig的基础知识,同时还向有经验的用户更加全面地介绍Pig的重要特性,如Pig Latin脚本语言、Grunt Shell交互命令以及用于对Pig进行扩展的用户自定义函数(UDF)等。如果读者需要分析TB级的数据量,本书也提供了能更高效地使用Pig来完成需求的方法。

通过学习本书,你将能够:
· 深入了解Pig数据模型,包括基本数据类型和复杂数据类型。
· 通过Pig Latin脚本对数据进行排序、分组、连接、投影以及过滤。
· 使用Grunt处理Hadoop分布式文件系统(HDFS)。
· 使用Pig的宏命令和模块化特性创建复杂的数据处理流。
· 在Python中嵌入Pig Latin脚本实现迭代处理过程以及其他高级任务。
· 创建用户自定义的加载和存储函数来处理新的数据格式和存储机制。
· 掌握更高效地在Hadoop集群中运行脚本的方法和技巧。

Alan Gates,Hortonworks公司创始人之一,是将Pig从雅虎的研究项目转化为一个成功的Apache开源项目的工程师团队中最早的成员。他负责监督Pig的实现、编程接口和总体设计。
  1. 第1章 初识pig 
  2. 1.1 pig是什么? 
  3. 1.1.1 pig是基于hadoop的 
  4. 1.1.2 pig latin,一种并行数据流语言 
  5. 1.1.3 pig的用途 
  6. 1.1.4 pig的设计思想 
  7. 1.2 pig发展简史
  8. 第2章 安装和运行pig
  9. 2.1 下载和安装pig 
  10. 2.1.1 从apache下载pig软件包
  11. 2.1.2 从cloudera下载pig 
  12. 2.1.3 使用maven下载pig 
  13. 2.1.4 下载pig源码
  14. 2.2 运行pig 
  15. 2.2.1 本地单机运行pig
  16. 2.2.2 在hadoop集群上运行pig
  17. 2.2.3 在云服务上运行pig 
  18. 2.2.4 命令行使用以及配置选项介绍
  19. 2.2.5 返回码 
  20. .第3章 命令行交互工具grunt 
  21. 3.1 在grunt中输入pig latin脚本
  22. 3.2 在grunt中使用hdfs命令
  23. 3.3 在grunt中控制pig 
  24. 第4章 pig数据模型
  25. 4.1 数据类型
  26. 4.1.1 基本类型
  27. 4.1.2 复杂类型
  28. 4.1.3 null值
  29. 4.2 模式
  30. 第5章 pig latin介绍
  31. 5.1 基础知识
  32. 5.1.1 大小写敏感
  33. 5.1.2 注释
  34. 5.2 输入和输出
  35. 5.2.1 加载
  36. 5.2.2 存储
  37. 5.2.3 输出
  38. 5.3 关系操作
  39. 5.3.1 foreach
  40. 5.3.2 filter 
  41. 5.3.3 group 
  42. 5.3.4 order by 
  43. 5.3.5 distinct 
  44. 5.3.6 join 
  45. 5.3.7 limit
  46. 5.3.8 sample 
  47. 5.3.9 parallel 
  48. 5.4 用户自定义函数udf 
  49. 5.4.1 注册udf 
  50. 5.4.2 define命令和udf 
  51. 5.4.3 调用静态java函数
  52. 第6章 pig latin高级应用
  53. 6.1 高级关系操作
  54. 6.1.1 foreach的高级功能
  55. 6.1.2 使用不同的join实现方法
  56. 6.1.3 cogroup 
  57. 6.1.4 union 
  58. 6.1.5 cross 
  59. 6.2 在pig中集成遗留代码和mapreduce程序
  60. 6.2.1 stream 
  61. 6.2.2 mapreduce 
  62. 6.3 非线性数据流
  63. 6.4 执行过程控制
  64. 6.4.1 set 
  65. 6.4.2 设置分割器
  66. 6.5 pig latin预处理器
  67. 6.5.1 参数传入
  68. 6.5.2 宏
  69. 6.5.3 包含其他的pig latin脚本
  70. 第7章 开发和测试pig latin脚本
  71. 7.1 开发工具
  72. 7.1.1 语法高亮和语法检查
  73. 7.1.2 describe 
  74. 7.1.3 explain
  75. 7.1.4 illustrate 
  76. 7.1.5 pig统计信息
  77. 7.1.6 mapreduce任务运行状态信息
  78. 7.1.7 调试技巧
  79. 7.2 使用pigunit测试用户的脚本
  80. 第8章 让pig飞起来
  81. 8.1 编写优质的脚本
  82. 8.1.1 尽早地并经常地进行过滤
  83. 8.1.2 尽早地并经常地进行映射
  84. 8.1.3 正确并合理使用join 
  85. 8.1.4 适当的情况下使用multiquery 
  86. 8.1.5 选择正确的数据类型
  87. 8.1.6 选择合适的并行值 
  88. 8.2 编写优质的udf 
  89. 8.3 调整pig和hadoop 
  90. 8.4 对计算中间结果进行压缩
  91. 8.5 数据层优化
  92. 8.6 垃圾数据处理
  93. 第9章 在python中嵌入pig latin脚本
  94. 9.1 编译
  95. 9.2 绑定
  96. 9.3 运行
  97. 9.4 工具方法
  98. 第10章 编写评估函数和过滤函数
  99. 10.1 使用java编写评估函数
  100. 10.1.1 udf将在哪里执行
  101. 10.1.2 求值函数基本概念
  102. 10.1.3 输入和输出模式
  103. 10.1.4 错误处理和处理过程信息报告
  104. 10.1.5 构造器和将数据从前端传送到后端 10.1.6 重载udf 
  105. 10.1.7 运算函数的内存问题
  106. 10.2 代数运算接口
  107. 10.3 累加器接口
  108. 10.4 使用python写udf 
  109. 10.5 书写过滤器函数
  110. 第11章 编写加载函数和存储函数
  111. 11.1 加载函数
  112. 11.1.1 前端执行计划函数
  113. 11.1.2 从前端调用传递信息到后端调用 
  114. 11.1.3 后端数据读取
  115. 11.1.4 可扩展的加载函数接口
  116. 11.2 存储函数
  117. 11.2.1 存储函数前端执行计划
  118. 11.2.2 存储函数和udfcontext 
  119. 11.2.3 写数据
  120. 11.2.4 任务失败后数据的清理
  121. 11.2.5 存储元数据信息
  122. 第12章 pig和其他hadoop社区的成员 
  123. 12.1 pig和hive 
  124. 12.2 cascading
  125. 12.3 nosql数据库
  126. 12.3.1 hbase 
  127. 12.3.2 cassandra 
  128. 12.4 hadoop中的元数据
  129. 附录a 内置的用户自定义函数和piggybank
  130. 内置udf 
  131. 内置加载函数和存储函数
  132. 内置求值函数和过滤函数
  133. piggybank 
  134. 附录b hadoop综述
  135. mapreduce 
  136. map阶段
  137. combiner阶段
  138. shuffle阶段
  139. reduce阶段
  140. 输出阶段
  141. 分布式缓存
  142. 故障处理
  143. hdfs 
书名:Pig编程指南
作者:Alan Gates
译者:曹坤 译
国内出版社:人民邮电出版社
出版时间:2013年01月
页数:191
书号:978-7-115-30111-6
原版书书名:Programming Pig
原版书出版商:O'Reilly Media
Alan Gates
 
hortonworks公司创始人之一,是将pig从雅虎的研究项目转化为一个成功的apache开源项目的工程师团队中最早的成员。他负责监督pig的实现、编程接口和总体设计。