Pig编程指南

出版社:人民邮电出版社
出版日期:2013-2-1
ISBN:9787115301116
作者:盖茨 (Alan Gates)
页数:191页

章节摘录

版权页:   bytearray 一团或一组字节。bytearray是通过封装了Java的byte[]的DataByteArray Java类来实现的。没有办法去定义一个bytearray常量。 4.1.2复杂类型 Pig有3个复杂数据类型:map、mple和bag。这3种类型都可以包含任意类型的数据,包括其他复杂类型的数据。所以如果有一个map,它的值字段是bag类型,这个bag包含了一个tuple,而该mple的字段是map,这种情况是可以存在的。 Map Pig中的map是一种chararray和数据元素之间的键值对映射,其中数据元素可以是任意的Pig类型,包括复杂类型。其中的chararray被称为键(key),它作为查找对应数据元素的索引,相应的数据元素被称为值(value)。 因为Pig不知道值的类型,那么它就会假设值为bytearray类型,尽管实际的值可能为其他类型。如果用户想知道真实的数据类型是什么(或者用户想让它成为什么数据类型),用户可以对它进行类型转换,相关信息请查看4.2.1节“类型转换”。用户如果没有显式地对值进行类型转换,那么Pig将会根据用户在脚本中如何使用这个值将其转换成一个最有可能的类型。如果值是bytearray外的其他类型,那么Pig会在运行时获得数据类型然后进行处理。关于Pig如何处理未知数据类型的更多信息请查看4.2节“模式”。 默认情况下并不要求一个map中的所有值具有相同的数据类型。一个map包含两个键:name和age,其中name对应的值是chararray类型,而age对应的值是int类型,像这种隋况是合法的。从Pig 0.9版本开始,map可以将它的值声明为具有相同的数据类型。这个新功能是非常有帮助的,因为如果用户事先就知道map中所有的值都是具有相同的数据类型的话,那么就可以避免进行类型转换,而且Pig也就无需在执行阶段运行时对数据类型进行控制。 map常量通过方括号来划定map结构,键和值间是一个#号,键值对之间使用逗号分隔。例如:['name'#'bob','age'#55】将创建一个包含“name”和“age”两个键的map。第一个值是chararray类型的,第二个值是一个整数。

内容概要

alan gates 是将PIG从雅虎的研究项目转化成一个成功的Apache开源项目的工程师团队中最早的成员。他负责监督Pig的实现、编程接口和总体设计。

书籍目录

第1章 初识Pig
1.1 Pig是什么?
1.1.1 Pig是基于Hadoop的
1.1.2 Pig Latin,一种并行数据流语言
1.1.3 Pig的用途
1.1.4 Pig的设计思想
1.2 Pig发展简史
第2章 安装和运行Pig
2.1 下载和安装Pig
2.1.1 从Apache下载Pig软件包
2.1.2 从Cloudera下载Pig
2.1.3 使用Maven下载Pig
2.1.4 下载Pig源码
2.2 运行Pig
2.2.1 本地单机运行Pig
2.2.2 在Hadoop集群上运行Pig
2.2.3 在云服务上运行Pig
2.2.4 命令行使用以及配置选项介绍
2.2.5 返回码
第3章 命令行交互工具Grunt
3.1 在Grunt中输入Pig Latin脚本
3.2 在Grunt中使用HDFS命令
3.3 在Grunt中控制Pig
第4章 Pig数据模型
4.1 数据类型
4.1.1 基本类型
4.1.2 复杂类型
4.1.3 NULL值
4.2 模式
第5章 Pig Latin介绍
5.1 基础知识
5.1.1 大小写敏感
5.1.2 注释
5.2 输入和输出
5.2.1 加载
5.2.2 存储
5.2.3 输出
5.3 关系操作
5.3.1 foreach
5.3.2 Filter
5.3.3 Group
5.3.4 Order by
5.3.5 Distinct
5.3.6 Join
5.3.7 Limit
5.3.8 Sample
5.3.9 Parallel
5.4 用户自定义函数UDF
5.4.1 注册UDF
5.4.2 define命令和UDF
5.4.3 调用静态Java函数
第6章 Pig Latin高级应用
6.1 高级关系操作
6.1.1 foreach的高级功能
6.1.2 使用不同的Join实现方法
6.1.3 cogroup
6.1.4 union
6.1.5 cross
6.2 在Pig中集成遗留代码和MapReduce程序
6.2.1 stream
6.2.2 mapreduce
6.3 非线性数据流
6.4 执行过程控制
6.4.1 set
6.4.2 设置分割器
6.5 Pig Latin预处理器
6.5.1 参数传入
6.5.2 宏
6.5.3 包含其他的Pig Latin脚本
第7章 开发和测试Pig Latin脚本
7.1 开发工具
7.1.1 语法高亮和语法检查
7.1.2 describe
7.1.3 explain
7.1.4 illustrate
7.1.5 Pig统计信息
7.1.6 MapReduce任务运行状态信息
7.1.7 调试技巧
7.2 使用PigUnit测试用户的脚本
第8章 让Pig飞起来
8.1 编写优质的脚本
8.1.1 尽早地并经常地进行过滤
8.1.2 尽早地并经常地进行映射
8.1.3 正确并合理使用join
8.1.4 适当的情况下使用multiquery
8.1.5 选择正确的数据类型
8.1.6 选择合适的并行值
8.2 编写优质的UDF
8.3 调整Pig和Hadoop
8.4 对计算中间结果进行压缩
8.5 数据层优化
8.6 垃圾数据处理
第9章 在Python中嵌入Pig Latin脚本
9.1 编译
9.2 绑定
9.3 运行
9.4 工具方法
第10章 编写评估函数和过滤函数
10.1 使用Java编写评估函数
10.1.1 UDF将在哪里执行
10.1.2 求值函数基本概念
10.1.3 输入和输出模式
10.1.4 错误处理和处理过程信息报告
10.1.5 构造器和将数据从前端传送到后端
10.1.6 重载UDF
10.1.7 运算函数的内存问题
10.2 代数运算接口
10.3 累加器接口
10.4 使用Python写UDF
10.5 书写过滤器函数
第11章 编写加载函数和存储函数
11.1 加载函数
11.1.1 前端执行计划函数
11.1.2 从前端调用传递信息到后端调用
11.1.3 后端数据读取
11.1.4 可扩展的加载函数接口
11.2 存储函数
11.2.1 存储函数前端执行计划
11.2.2 存储函数和UDFContext
11.2.3 写数据
11.2.4 任务失败后数据的清理
11.2.5 存储元数据信息
第12章 Pig和其他Hadoop社区的成员
12.1 Pig和Hive
12.2 Cascading
12.3 NoSQL数据库
12.3.1 HBase
12.3.2 Cassandra
12.4 Hadoop中的元数据
附录A 内置的用户自定义函数和Piggybank
内置UDF
内置加载函数和存储函数
内置求值函数和过滤函数
Piggybank
附录B Hadoop综述
MapReduce
Map阶段
Combiner阶段
Shuffle阶段
Reduce阶段
输出阶段
分布式缓存
故障处理
HDFS
作者介绍
书末说明

编辑推荐

Apache Pig 是一个高级过程语言,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。本文不仅为初学者讲授,Pig 的基础知识,同时还向有经验的用户更加全面的介绍Pig的重点特性。 通过学习本书,你将能够身日了解数据模型,包括基本数据和复杂数据类型。掌握更高效的在Hadoop集群中运行脚本的方法和技巧。

作者简介

《Pig编程指南》不仅为初学者讲解ApachePig的基础知识,同时也向有一定使用经验的高级用户介绍更加综合全面的Pig重要特性,如PigLatin脚本语言、控制台shell交互命令以及用于对Pig进行拓展的用户自定义函数(UDF)等。当读者有大数据处理需求时,《Pig编程指南》提供了如何更高效地使用Pig来完成需求的方法。
《Pig编程指南》适合各个层次的Pig用户及开发人员阅读使用。


 Pig编程指南下载



发布书评

 
 


精彩短评 (总计11条)

  •     我去代码地址在https://github.com/alanfgates/programmingpig
  •     1、发货速度还算很快,前天下午,第二天收到2、书很薄,价格有些贵。不过对于需要的人来说还是不错3、书中有折页,销售在拿货的时候可能没有注意到吧,态度问题
  •     这次购买书籍不错,书的质量可以,速度很快,以后会继续在亚马逊买书的!
  •     书不错,可以全面了解Pig,内容详实。
  •     翻译的很烂的说,建议直接看英文的吧,而且排版也很一般
  •     工作需要读完了这本小书,内容精悍到位,翻译的质量也还是不错的。不论这门技术本身是否使用广泛,单就本书内容而言给个五星
  •     还没开始看,翻了下目录感觉还不错
  •     配合官网上面那个文档看在合适不过了 赞!
  •     书是不错,但是不建议太依赖pig
  •     总体来说非常不错的书籍,对着书中源码实战一遍,就掌握的差不多了
  •     现在每次学习一个新的东西总是会有一种很激动的感觉!而且在工作中边用边学是最快的一种学习方式吧
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024