Apache Pig 简介与实践
Apache Pig 是一个用来分析大数据集的平台,它由两部分组成:一部分是用于
表达数据分析程序的高级脚本语言,另一部分是用于评估分析程序的基本工具。
目前来看, Pig 主要用于离线数据的批量处理应用场景,但是随着 Pig 的发展处
理数据的速度会不断地提升,这可能依赖于 Pig 底层的执行引擎。比如, Pig 通
过指定执行模式,可以使用 Hadoop的 MapReduce计算引擎来实现数据处理,也
可以使用基于 Tez的计算引擎来实现 (Tez是为了绕开 MapReduce多阶段 Job写
磁盘而设计的 DAG计算引擎,性能应该比 MapReduce要快),看到 Pig 未来的发
展路线图,以后可能会基于 Storm 或 Spark 计算平台实现底层计算引擎, 那样速
度会有极大地提升。
Pig 安装与执行
Pig 安装非常简单,只需要下载 Pig 包,然后解压缩即可:
在 31机子上已经下载了
pig-0.12.0.tar.gz
PIG配置
zxp@cfs01:~> vi ./.bashrc
Pig 的两种模式
本地模式
本地模式主要是基于本地文件系统, 比较适合调试脚本使用。 进入本地模式执行
如下命令:
1
pig
-x local
MapReduce模式
MapReduce模式基于 Hadoop,数据存储在 HDFS上,它基于运行于 YARN
之上的 MapReduce进行处理。进入 MapReduce运行模式执行如下命令:
1 pig -x mapreduce
一般,我们的数据都是存储在 HDFS上的,使用该模式能够充分利用
Hadoop集群的计算能力
数据类型
Pig 的数据类型可以分为 2类,分别为简单类型和复杂类型。简单类
型包括:
int 、long、float 、double、chararray 、bytearray 、boolean、datetime 、
biginteger 、bigdecimal 。复杂类型包括: tuple 、bag、map。
这里对特别的数据类型,解释说明一下:
chararray 相当于字符串 String ;bytearray 相当于字节数组; tuple
是一个有序的字段的集合,可以理解为元
Pig/模式/数据/类型/MapReduce/计算/引擎/执行/本地/简单/
Pig/模式/数据/类型/MapReduce/计算/引擎/执行/本地/简单/
-->