pig
Pig
是一个用来处理大规模数据集的平台,由Yahoo
贡献给Apache
Pig
方便不熟悉java
的用户,使用一种较为简便的类似于SQL
的面向数据流的语言pig Latin
进行数据处理
Pig Latin
可以进行排序、过滤、求和、分组、关联等常用操作,还可以自定义函数,这是一种面向数据分析处理的轻量级脚本语言
Pig
可以看做是Pig Latin
到MapReduce
的映射器
Pig
可以自动对集群进行分配和回收,并且自动地对MapReduce
程序进行优化
pig安装
wget -c http://www-eu.apache.org/dist/pig/latest/pig-0.17.0.tar.gz
tar -zxvf pig-0.17.0.tar.gz && mv pig-0.17.0 /usr/local/
cd /usr/local/ && ln -s pig-0.17.0/ pig
cat >> /etc/profile << EOF
# for pig
export PIG_HOME=/usr/local/pig
export PIG_CLASSPATH=\$HADOOP_HOME/etc/hadoop
export PATH=\$PIG_HOME/bin:\$PATH
EOF
source /etc/profile
mkdir -p /log/pig/
echo "pig.logfile=/log/pig/pig-err.log" >> conf/pig.properties
pig -x mapreduce
> pwd
> ls ./
Pig Latin
LOAD
:载入原始数据,将原始数据文件内容转换为Pig
的数据模型
DUMP
:将结果显示到屏幕
FOREACH
:对输入数据中的Tuple
逐个进行处理
FILTER
:过滤数据
STORE
:将结果保存在文件系统中
DESCRIBE
:返回一个名称的模式
EXPLAIN
:显示脚本的执行计划
ILLUSTRATE
:跟踪程序的执行过程
A = LOAD 'score.txt' USING PigStorage(',') AS (id:int,name,score:int);
DUMP A;
B = FOREACH A GENERATE name,score;
DUMP B;
X = FILTER B BY score>96 AND score<100;
DUMP X;
STORE B INTO '/data/finish' USING PigStorage('\t');
DESCRIBE B;
网友评论