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指定)

hadoop pi 程序 hadoop中的pig_hadoop pi 程序

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自定义函数较为成熟,其他两种功能还有限