数盟公开课PIG基础知识.ppt

PIG基础知识 Pig简介 什么是Pig? Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。 Pig来啦 简单例子: 所有被20到25岁网民访问的Top5网址列表 惨不忍睹的MapReduce 今天JAVA MR用了吗? 引自:/upload/2013-12/13121711124848.pdf Pig部署设置 安装 下载 解压tar zxvf pig-0.1x.x.tar.gz 设置 加入profile,PATH 修改配置文件 在perties中加入 =hdfs://namenode:9000 mapred.job.tracker=namenode:9001 命令行执行:export HADOOP_HOME=/home/hadoop/hadoop-1.0.xxx export PIG_CLASSPATH=$HADOOP_HOME/conf Pig命令行 本地模式 pig –x local 集群模式 pig 执行脚本 pig -f xxx.pig Pig基础命令 PIG中使用HDFS 列目录 Pig基础命令 PIG中使用HDFS 从本地复制文件到HDFS。 从本地复制文件到HDFS Pig基础命令 load加载数据文件 变量 =load ‘hdfs 路径文件目录或文件名 USING PigStorage(‘:) Pig基础命令 有结构的load加载数据文件 变量 =load ‘hdfs 路径文件目录或文件名 USING PigStorage(‘:) as (xxxxxx) Pig基础命令 DUMP输出 Pig基础命令 STORE存储文件 Pig数据类型 基本数据类型 Int long float 对应java.lang Chararray 对应String Bytearray 对应byte[] 复杂数据类型 Map [‘name’#’rtt’,’age’#5} Bag {(Tuple),()} Tuple (‘ddd’,5) Pig语法 FILTER (by) grunt pass = load /tmp/passwd USING PigStorage(:) as (user:chararray,per:chararray,uid:int,gid:int,desc:chararray,homedir:chararray, shell:chararray ); user = filter pass by uid 500; Pig语法 FOREACH GENERATE grunt describe pass; pass: {user: chararray,per: chararray,uid: int,gid: int,desc: chararray,homedir: chararray,shell: chararray} grunt users = foreach pass generate user; grunt describe users; users: {user: chararray} grunt dump users; Pig语法 DISTINCT grunt describe pass; pass: {user: chararray,per: chararray,uid: int,gid: int,desc: chararray,homedir: chararray,shell: chararray} grunt shells = foreach pass generate shell; grunt distict_shell = distinct shells; Pig语法 SAMPLE grunt s_pass = sample pass 0.1; grunt dump s_pass; Pig语法 LIMIT grunt l_user = limit user 10; Pig语法 JOIN u_s= foreach pass generate user,shell; u_h= foreach pass generate user,homedir; describe s_u; s_u: {user: chararray,shell: chararray} describe s_h; s_h: {user: chararray,homedir: chararray} u_s_h = join s_h by user, s_

文档评论(0)

1亿VIP精品文档

相关文档