加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据处理框架:Pig

发布时间:2020-12-14 02:32:59 所属栏目:大数据 来源:网络整理
导读:Pig pig 是基于hadoop的一个数据处理框架. MapReduce是使用java开发的。Pig有一套自己的数据处理语言。Pig的数据处理过程要转化为MR 来运行。 Pig的数据处理语言是数据流方式,类似于初中的数学题,需要一步一步解,最终得到结果。 Pig基本数据类型:int、lo

Pig

  1. pig 是基于hadoop的一个数据处理框架.
  2. MapReduce是使用java开发的。Pig有一套自己的数据处理语言。Pig的数据处理过程要转化为MR 来运行。
  3. Pig的数据处理语言是数据流方式,类似于初中的数学题,需要一步一步解,最终得到结果。
  4. Pig基本数据类型:int、long、float、double、chararray、bytearray
    复合数据类型:Map、Tuple(类似于数组)、Bag(类似数据字典)
    Bag的数据类型如:{(‘age’,31),(‘name’,’张三’)}

如何安装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 还有很多用法,具体可以参看官方文档。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读