Pig Latin
子项目致力于降低hadoop的复杂性。Pig可以看做是hadoop的客户端软件,可以连接到hadoop集群进行数据分析工作。Pig方便不熟悉Java的用户,使用一种较为简便的类似SQL的面向数据流的语言pig latin进行数据处理。Pig latin可以进行排序,过滤 ,求和,分组,关联等操作,还可以自定义函数,这是一种面向数据分析处理的轻量级脚本语言.
Pig可以看做是pig latin到map-reduce的映射器。
语言用起来不是很好理解,在社区中使用的不是太广泛,一般使用Hive的较多。
安装:
- 下载并解压pig安装
- 在.bashrc中配置环境变量,注意JAVA_HOME=安装目录的上级目录
- 进入grunt shell验证
Pig工作模式
1. 本地模式:所有文件和执行过程都在本地,一般用于测试
2. Mapreduce模式:实际工作模式
配置pig的map-reduce模式
- 设置PATH,增加PIG_CLASSPATH环境变量
- 修改hosts文,启动pig
- 启动pig
Pig的运行方式:脚本(后缀是pig)、grunt、嵌入式(嵌入到java中,使用pig提供的jar即可)
gruntshell命令可以通过help列举出来。
Pig数据模型
Bag:表,Tuple:列,Field:属性,
Pig不要求同一个bag里面的各个tuple有相同数据或相同类型的field。
Pig Latin常用语句:
Load:装入数据,FOREACH:逐行扫描进行某种处理形成另一张表。FILTER:过滤行
DUMP:把结果显示到屏幕 STORE:把结果保存到文件。
例子1:从气象数据集中计算一年中的最高记录