Pig
1. pig
pig 可以看做hadoop的客户端软件,可以连接到hadoop集群进行数据分析工作
pig方便不熟悉java的用户,使用一种较为简便的类似于SQL的面向数据流的语言pig latin进行数据处理
pig latin可以进行排序,过滤,求和,分组,关联等常用操作,还可以自定义函数,这是一种面向数据分析处理的轻量级脚本语言
pig可以看做是pig latin到map-reduce的映射器
2.安装pig
(1)下载并解压pig安装包
(2)编辑环境变量
.bash_profile linux系统的环境变量PATH
JAVA_HOME=/usr java安装目录的上级目录
(3)重新登录使环境变量生效
使用set命令检查环境变量
(4)进入grunt shell
pig -x local 以本地模式运行(连接的并不是hadoop集群,仅仅是本地的linux文件系统)
3.pig 的工作模式
本地模式:所有文件和执行过程都在本地,一般用于测试程序
Mapreduce模式:实际工作模式
4.配置pig的map-reduce模式(刘鹏)
(1)设置PATH,增加指向hadoop/bin
(2)设置PIG_CLASSPATH环境变量
PIG_CLASSPATH=/home/grid/hadoop-1.2.1/conf/ 指向hadoop的配置文件,目的是找到hadoop集群
(3)修改hosts文件
(4)启动grunt shell
pig 以map-reduce方式启动(要连接到所指定的hadoop集群,PIG_CLASSPATH指定)
5.pig 的运行方法
(1)脚本
(2)Grunt
自动补全(命令)
autocomplete文件(pig的安装目录,conf目录下,可以把需要补全的单词放入其中,大小写敏感)
Eclipse插件PigPen
除了在grunt 这种shell运行pig命令语言外,还何以在Eclipse底下来运行,(可以在网上查找资料安装运行PigPen插件)
(3)嵌入式
6.grunt shell命令
copyTolocal test1.txt ttt 把hadoop文件系统中文件拷贝到本地文件系统中
ls cd cat
执行操作系统命令 :sh
7.pig数据模型
Bag:表
Tuple:表,记录
Field:属性
Pig不要求同一个bag里面的各个tuple有相同数量或相同类型的field
8.pig latin常用语句(权威指南p323)
load: 支出载入数据的方法
Foreach:逐行扫描进行某种处理
Filter:过滤行
dump 把结果显示到屏幕
store 把结果保存到文件
9.UDF
支持使用Java ,Python, Javascript三种语言编写UDF
Java自定义函数较为成熟,其他两种功能还有限