pig可以看做hadoop的客户端软件,可以连接到hadoop集群进行数据分析工作。 Pig方便不熟悉java的用户,使用一种较为简便的类似于SQL的面向数据流的语言pig latin迚行数据处理。 Pig latin可以迚行排序、过滤、求和、分组、关联等常用操作,还可以自定义函数,这是一种面向数据分析处理的轻量级脚本语言。 Pig可以看做是pig latin到map-reduce的映射器。 安装Pig 下载并解压pig安装包(http://pig.apache.org/) mirror.bjtu.edu.cn/apache/pig/pig-0.9.2/pig-0.9.2.tar.gz 编辑环境变量 PATH=$PATH:/home/anker/pig-0.9.2/bin JAVA_HOME=/user export JAVA_HOME export PATH 重新登录以生效 输入set 查看所有的环境变量 //启动pig,进入grunt shell //-x local代表以本地模式运行pig,连接的不是hadoop集群,而是本地文件系统 pig -x local Pig工作模式 1.本地模式:所有文件和执行过程都在本地,一般用于测试程序 2.Mapreduce模式:实际工作模式 配置pig的map-reduce模式 1.设置path,增加指向hadoop/bin 2.设置pig_classpath环境变量 3.修改hosts文件 4.启动pig PATH=$PATH:/home/anker/hadoop-1.1.2/bin:/home/anker/pig-0.9.2/bin JAVA_HOME=/usr PIG_CLASSPATH=/home/anker/hadoop-1.1.2/conf/ export PIG_CLASSPATH export JAVA_HOME export PATH //启动pig的Mapreduce模式 pig Pig参考文档大全 pig.apache.org/docs/r0.10.0/ Pig的运行方法 1.脚本(Grunt shell组成的脚本文件) 2.Grunt 3.嵌入式 Grunt 1.自动补全机制 2.Autocomplete文件(pig安装目录下的conf目录,修改此内容来完善自动补全功能) 3.Eclipse插件Pigpen //grunt shell帮组命令 //列出所有的shell命令 help //列出所有的文件和文件夹 ls //查看文本文件 cat //进入目录 cd //将Hadoop的文件拷贝到本地文件系统 copyToLocal //执行操作系统命令:sh sh /user/java/jdk1.6.0_26/bin/jps Pig数据模型 Bag:表 Tuple:行,记录 Field:属性 Pig不要求同一个bag里面各个tuple要求有相同数量或相同类型的field Pig Latin常用语句 LOAD: 指出载入数据的方法 FOREACH:逐行扫描进行某种处理 FILTER:过滤行 DUMP:把结果显示到屏幕 STORE:把结果保存到文件 实例1 //将hadoop的文件读进来,放到pig的一个关系中(records.一个变量) records = LOAD 'in/TEMPERATURE.TXT' AS (year:chararray, temperature:int, quality:int); //数据之间默认为制表符分割 B = FILTER records BY temperature != 9999 AND (quality == 0 or quality == 1 OR quality == 4 OR quality == 5 OR quality == 9); //使用group函数,按照字段将记录关系组合起来 //(1949,((1949,111,1),(1949,78,1))) //(1950,((1950,0,1),(1950,22,1),(1950,-11,1))) grouped_records = GROUP B BY year; //FOREACH处理每一行生成一个派生行,并用一个GENERATE子句在每一个派生行中定义字段。 //在这个例子中,第一个字段只是年份组,第二个字段稍微复杂一些。 max_temp = FOREACH grouped_records GENERATE group,MAX(B.temperature); DUMP max_temp; 实例2 //PigStorage指定文件的分隔符,分割出三个字段id,pw,em A = LOAD '/home/grid/csdn.txt' USING PigStorage('#') AS (id,pw,em); //将文件中的em字段取出来,形成关系B B = FOREACH A GENERATE em; //将数据保存到硬盘中 STORE B INTO '/home/grid/email.txt' USING PigStorage(); //DESCRIBE操作可以看到一个关系的结构 grunt> DESCRIBE records; //查看语句的执行计划 grunt> explain //摘取部分每一步生成的数据,并显示出来 illustrator UDF(user defined function) 1.执行java,python,javascript三种语言编写udf 2.java自定义函数较为成熟,其他两种功能还有限 实例3 score.txt James,Network,Tiger,100 James,Database,Tiger,99 James,PDW,Yao,95 Vincent,Network,Tiger,95 Vincent,PDW,Yao,98 NocWei,PDE,Yao,100 //第二种方法 grunt> A = LOAD 'score.txt' USING PigStorage(',') AS (student,course,teacher,score:int); grunt> DESCRIBE A; grunt> B = FOREACH A GENERATE student,teacher; grunt> C = DISTINCT B; grunt> D = FOREACH(GROUP C BY student) GENERATE group AS student,COUNT(C); grunt> DUMP D; grunt> E = GROUP B BY student; grunt> DESCRIBE E; grunt> F = FOREACH E { T = B.teacher; uniq = DISTINCT T; GENERATE group AS student,COUNT(uniq) AS cnt; } grunt> EXPLAIN D; //找出每门课程前两名的同学 grunt> A = LOAD 'score.txt' USING PigStorage(',') AS (student,course,teacher,score:int); grunt> B = FOREACH A GENERATE student, course, score; grunt> C = GROUP B BY course; grunt> D = FOREACH C { sorted = ORDER B BY score DESC; top = LIMIT sorted 2; GENERATE group AS course, top AS top; } grunt>DUMP D; grunt> E = FOREACH D GENERATE course, FLATTEN(top); grunt>DUMP E;
相关推荐
经典大作 hadoop the definitve guide programming hive programming pig
Hadoop技术Pig简介共11页.pdf.zip
完整版大数据云计算课程 Hadoop数据分析平台系列课程 Hadoop 08 Pig安装与Pig Latin语言,应用案例 共26页.rar
目标是学习 Apache(大)数据库框架 - Hadoop、Pig、Hive、Hbase 描述 目前在 2 个数据集上有 3 个项目: 百万歌曲数据集 Most_Popular_Genres :使用非常简单的流派识别(Apache Hive 与 Apache Pig)确定“21 ...
mortar-recsys, 一种基于砂浆数据的Hadoop和 Pig 定制推荐 Mortar推荐引擎一个定制推荐引擎的Hadoop和 Pig,通过迫击炮数据。入门/教程这个项目包含了几个完整的。可以运行的示例数据示例数据,以及一个模板项目。...
能独立熟练完成Hadoop的...能独立完成pig的安装并且利用pig做简单的数据分析工作 能独立完成Hbase的安装和配置 了解Hbase的原理并能进行简单的shell操作 能独立完成Hive的安装和配置 了解Hive的原理及进行HiveQL操作
Hadoop 讲义 基础篇
Hadoop_HBase_Pig
网站访问日志,可以用来进行Hadoop pig分析使用
[奥莱理] Pig 编程 (英文版) [奥莱理] Programming Pig (E-Book) ☆ 出版信息:☆ [作者信息] Brent Chaters [出版机构] 奥莱理 [出版日期] 2011年10月20日 [图书页数] 224页 [图书语言] 英语 [图书格式] ...
hadoop起源Google发表的三篇论文:GFS, Bigtable, MapReduce,英文版
Hadoop技术-Pig简介.pptx
Pig运行在Hadoop上,是对大型数据集进行分析和评估的平台。它简化了使用Hadoop进行数据分析的要求,提供了一个高层次的、面向领域的抽象语言:PigLatin。通过PigLatin,数据工程师可以将复杂且相互关联的数据分析...
本书从hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍hado叩这一高性能处理海量数据集的理想工具。全书共14章,3个附录,涉及的主题包括:haddoop简介:mapreduce简介:hadoop分布式文件系统;hadoop的i...
Hadoop基础篇之搭建Hadoop2.2
最全 hadoop pig中文PDF编程指南,非开发方式进行数据处理。
Hadoop、HBase、Hive、Pig、Zookeeper资料整理,欢迎大家下载学习
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....
本书从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hadoop这一高性能处理海量数据集的理想工具。全书共14章,3个附录,涉及的主题...Pig简介;Hbase简介;ZooKeeper简介,最后还提供了丰富的案例分析。