数据处理框架:Pig,数据处理框架pig


Pig

如何安装pig:

1.把pig-0.11.1.tar.gz复制到/usr/local下
2.使用命令tar -zxvf pig-0.11.1.tar.gz解压缩
3.使用命令mv pig-0.11.1 pig 进行重命名
4. 编辑文件vi /etc/profile 设置环境变量

 export $PIG_HOME=/usr/local/bin
 export PATH =......$PIG_HOME/bin....

保存,然后执行source /etc/profile
5. 编辑文件$PIG_HOME/conf/pig.properties,增加两行如下内容

fs.default.name=hdfs://hadoop:9000
mapred.job.tracker=hadoop:9001

pig是基于hadoop框架的数据处理框架,所以需要跟hadoop 关联起来,上边的配置主要针对的是Namenode 和 JobTracker

如何使用pig:

对wlan数据如何使用pig进行分析处理
1. 把待处理的数据上传到HDFS中
2. 把HDFS中的数据转换为pig可以处理的模式
按照以下图里的格式进行转化:
这里写图片描述

A = LOAD ‘/wlan’ AS (t0:long, msisdn:chararray, t2:chararray, t3:chararray, t4:chararray, t5:chararray, t6:long, t7:long, t8:long, t9:long, t10:chararray);
A是别名 ,方便引用。

如何查看是否加载进去?
DUMP A ;
3.把里面的有用的字段抽取出来
B = FOREACH A GENERATE msisdn, t6, t7, t8, t9;

Pig是一步一步来的,如果业务比较复杂,通过sql无法一步解决,用pig非常方便。

DUMP B;
这里写图片描述
4.分组数据
C = GROUP B BY msisdn;
因为有的手机号有重复,所以我们根据手机号进行分组。

DUMP C;

这里写图片描述
5.流量汇总
D = FOREACH C GENERATE group, SUM(B.t6), SUM(B.t7), SUM(B.t8), SUM(B.t9);

分组之后的名字,当我们就叫group.

DUMP D;
这里写图片描述
6.结果在pig中, 存储到HDFS中
STORE D INTO ‘/wlan_result’;
这里写图片描述
7.进入hdfs进行查看,是否保存到这里。
这里写图片描述

其中有一个文件是不为空,查看该文件是否是我们刚才在pig 里的处理结果。
这里写图片描述

我们还可以使用pig对处理结果进行排序
E = ORDER D BY group ;
DUMP E ;
Pig 还有很多用法,具体可以参看官方文档。

相关内容