Pig学习笔记
一、Pig简介 MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行。 相比 Java 的 MapReduce API ,Pig为大型数据集的处理提供了更高层次的抽象,与MapReduce相比,Pig提供了更丰富的数据结构,一般都是多值和嵌套的数据结构。Pig还提供了一套更强大的数据变换操作,包括在MapReduce中被忽视的连接Join操作。 Pig包括两部分: 2、用于执行 Pig Latin 程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoop集群上的分布式执行环境。 Pig内部,每个操作或变换是对输入进行数据处理,然后产生输出结果,这些变换操作被转换成一系列MapReduce作业,Pig让程序员不需要知道这些转换具体是如何进行的,这样工程师可以将精力集中在数据上,而非执行的细节上。 二、Pig的数据类型 Bag的类型如{(‘age’,31),(‘name’,’张三’)} 三、安装 2、使用命令 3、编辑文件 export PIG_HOME=/usr/local/bin
export PATH =......:$PIG_HOME/bin:$....
保存,然后执行 4、pig需要依赖于hadoop,因此需要修改配置文件。 fs.default.name=hdfs://liguodong:9000
mapred.job.tracker=liguodong:9001
四、使用Pig对HDFS的文件进行分析处理 hadoop fs -put HTTP_20130313143750.dat /wlan
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);
查看load的信息 DUMP A;
把里面的有用的字段抽取出来 B = FOREACH A GENERATE msisdn,t6,t7,t8,t9; DUMP B;
数据分组 C = GROUP B BY msisdn;
DUMP C;
流量汇总(在分组的基础上进行流量汇总) 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;
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |