使用 Pig 进行数据分析
2016-03-10 11:43
211 查看
本文,我们将以一个具体案例说明,如何通过Pig——这一便捷的框架,进行数据的处理与分析工作。
(1) 上传待分析文件到 hdfs:
比如我们要处理的用户上网日志信息,下载地址,上网日志数据(hadoop用);
该上网日志信息的字段,类型及含义如下:
0、reportTime、long、记录报告时间戳
1、msisdn、String、手机号码
2、apmac、String、AP mac
3、acmac、String、AC mac
4、host、String、访问的网址
5、siteType、String、网址种类
6、upPackNum、long、上行数据包数、单位:个
7、downPackNum、long、下行数据包数、单位:个
8、upPayLoad、long、上行总流量,单位:byte
9、downPayLoad、long、下行总流量、单位:byte
10、httpStatus、String、http response 的状态
(2)进入Pig 命令行环境(grunt)
(3)将hdfs 中待处理的数据转换为pig可以处理的模式
查看变量内容拼,使用
查看输出日志信息,我们可见其处理依赖的仍然是MapReducer.
(4)提取待分析的有用字段信息;
(这样的按步执行,类似中学数学题形式的按步执行,我们就会发现其中的优越之处了,解决一些复杂的业务时,按照SQL的方式无法一步给出结果)
(5)指定关键字分组
(6)流量汇总
(7)将结果存储到hdfs中:
注:
(1)无论是
(2)Pig 的数据处理操作远不止于这些,比如排序:
(1) 上传待分析文件到 hdfs:
比如我们要处理的用户上网日志信息,下载地址,上网日志数据(hadoop用);
[root@hadoop0 ~]# hadoop fs -put /HTTP_20130313143750.dat /wlan
该上网日志信息的字段,类型及含义如下:
0、reportTime、long、记录报告时间戳
1、msisdn、String、手机号码
2、apmac、String、AP mac
3、acmac、String、AC mac
4、host、String、访问的网址
5、siteType、String、网址种类
6、upPackNum、long、上行数据包数、单位:个
7、downPackNum、long、下行数据包数、单位:个
8、upPayLoad、long、上行总流量,单位:byte
9、downPayLoad、long、下行总流量、单位:byte
10、httpStatus、String、http response 的状态
(2)进入Pig 命令行环境(grunt)
[root@hadoop0 ~]# pig
(3)将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;
查看输出日志信息,我们可见其处理依赖的仍然是MapReducer.
(4)提取待分析的有用字段信息;
B = foreach A generate msisdn, t6, t7, t8, t9;
(这样的按步执行,类似中学数学题形式的按步执行,我们就会发现其中的优越之处了,解决一些复杂的业务时,按照SQL的方式无法一步给出结果)
(5)指定关键字分组
C = group B by msisdn;
(6)流量汇总
D = foreach C generate group, SUM(B.t6), SUM(B.t7), SUM(B.t8), SUM(B.t9);
(7)将结果存储到hdfs中:
store D into '/wlan_res'
注:
(1)无论是
load(从hdfs中加载数据)还是
store(存储数据到hdfs),Pig 对 hdfs 有十分方便的交互;
(2)Pig 的数据处理操作远不止于这些,比如排序:
E = order D by group;
相关文章推荐
- dll 导出函数名的那些事
- 2 @RequestMapping
- UGUI(九)摄像机渲染纹理
- 第1次上机实验-3
- 移动端H5页面高清多屏适配方案(经典)
- 工厂模式(静态工厂模式、工厂方法模式、抽象工厂模式)
- SQLServer触发器的使用
- sql的临时表使用小结
- instanceof -- JS
- 解读ASP.NET 5 & MVC6系列
- O2O创业哪家强 一文了解深圳60多家O2O创业公司
- Zend Framework教程之配置文件application.ini解析
- 移动端、手机网站中文输入法下keyup事件部分按键无效
- c++实验报告(2)
- BFS-BZOJ-1602-[Usaco2008 Oct]牧场行走
- 在win7下配置微软的深度学习caffe
- FM模型
- 值得推荐的C/C++框架和库 (真的很强大)
- c++第一次实验2
- c++第一次上机实验-2