纵有疾风起
人生不言弃

Pig学习笔记

一、Pig简介
Pig是基于hadoop的一个数据处理的框架

MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行

相比 Java 的 MapReduce API ,Pig为大型数据集的处理提供了更高层次的抽象,与MapReduce相比,Pig提供了更丰富的数据结构,一般都是多值和嵌套的数据结构。Pig还提供了一套更强大的数据变换操作,包括在MapReduce中被忽视的连接Join操作。

Pig包括两部分:
1、用于描述数据流的语言,称为Pig Latin。

2、用于执行 Pig Latin 程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoop集群上的分布式执行环境。

Pig内部,每个操作或变换是对输入进行数据处理,然后产生输出结果,这些变换操作被转换成一系列MapReduce作业,Pig让程序员不需要知道这些转换具体是如何进行的,这样工程师可以将精力集中在数据上,而非执行的细节上。

二、Pig的数据类型
基本数据类型:int、long、float、double、chararry、bytearray
复合数据类型:Map、Tuple、Bag

Bag的类型如{(‘age’,31),(‘name’,’张三’)}

三、安装
1、使用命令tar -zxvf pig-0.11.1.tar.gz解压缩

2、使用命令mv pig-0.11.1 pig 进行重命名

3、编辑文件vi /etc/profile 设置环境变量

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

保存,然后执行source /etc/profile

4、pig需要依赖于hadoop,因此需要修改配置文件。
编辑文件$PIG_HOME/conf/pig.properties,增加两行如下内容

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

四、使用Pig对HDFS的文件进行分析处理
1、把待处理的数据上传到HDFS中
Pig学习笔记插图

hadoop fs -put HTTP_20130313143750.dat /wlan

2、基本操作
进入Pig命令行,输入:pig

把HDFS中的数据转换为pig可以处理的模式
别名A:方便别人引用

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);

查看load的信息

DUMP A; 

把里面的有用的字段抽取出来

B = FOREACH A GENERATE msisdn, t6, t7, t8, t9; DUMP B;

数据分组
按照手机号码进行分组

C = GROUP B BY msisdn;

DUMP C;

流量汇总(在分组的基础上进行流量汇总)
分组后,分组的字段叫group。

D = FOREACH C GENERATE  group, SUM(B.t6), SUM(B.t7), SUM(B.t8), SUM(B.t9);

DUMP D;

存储到HDFS中

STORE D INTO '/wlan_result';    
hadoop fs -ls /wlan_result

hadoop fs -text /wlan_result/part*

排序

E = ORDER D BY group;
DUMP E;

原文链接:https://blog.csdn.net/scgaliguodong123_/article/details/44925583

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

未经允许不得转载:起风网 » Pig学习笔记
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录