#Hadoop# #大数据# #大数据分析# #数据分析#

1 轻量级大数据流处理语言——Pig

Pig是处理大数据集的数据流语言,Pig由Yahoo开发,Twitter公司大量使用Pig处理海量数据。处理数据的流程可以一步步定义,比如第一步加载,第二步转换,第三步再转换,第四步存储,可以一步步定义数据的走向,适合做数据探索和ETL阶段数据处理、检索和分析数据量较大的数据集。Pig包括两部分:一是用于描述数据流的语言,称为Pig Latin;二是用于运行Pig Latin程序的执行环境。Pig相当于一个翻译器,将PigLatin语句翻译成MapReduce程序(只有在执行dump和store命令时才会翻译成MapReduce程序),而PigLatin语句是一种用于处理大规模数据的脚本语言。

Pig运行于HDFS之上,是hadoop上层的衍生架构,用于简化hadoop任务,并对MapReduce进行一个更高层次的封装。

Pig与Hive的区别如下:

Pig是一种面向过程的数据流语言;Hive是一种数据仓库语言,并提供了完整的sql查询功能。

Pig更轻量级,执行效率更快,适用于实时分析;Hive适用于离线数据分析。

Hive查询语言为Hql,支持分区;Pig查询语言为Pig Latin,不支持分区。

Hive支持JDBC/ODBC;Pig不支持JDBC/ODBC。

Pig适用于半结构化数据(如:日志文件);Hive适用于结构化数据。

2 环境配置

2.1 直接从docker启动

docker pull sf2gis/hadoop:pig01

docker run -p 8122:22 -p 8188:8088 -p 50170:50070 -p 50175:50075 -p 8120:8020 -p 19888:19888 -p 60110:60010 -p 60130:60030 -it --name pig01 --privileged -h hadoop-senior01.test.com --network=mynet --ip 172.18.0.2 sf2gis/hadoop:pig01

启动过程参考hadoop集群配置。

2.2 部署规划

3节点。HDFS主节点在01,数据节点分布于3个节点。YARN的主节点在02,节点分布于3个节点。

ZK分布于3个节点。

HBase主节点在01,子节点分布于3个节点。

NTP时间服务器在01。02,03作为客户端可以同步01服务器时间。

Hive位于01。

Pig位于01。




hadoop底层院里 hadoop的pig_Hive


3 安装

下载后解压:CDH(网站不显示,可以直接下载)

http://archive.cloudera.com/cdh5/cdh/5/pig-0.12.0-cdh5.9.0.tar.gz

设置环境变量:

export HADOOP_HOME=/opt/module/hadoop-2.6.0/bin

export PIG_CLASSPATH=/opt/module/hadoop-2.6.0/etc/hadoop

export PATH=$HADOOP_HOME/bin:$PIG_CLASSPATH:$PATH

复制htrace-core4-4.0.1-incubating.jar到pig的lib目录

cp /opt/module/hadoop-2.6.0/share/hadoop/common/lib/htrace-core4-4.0.1-incubating.jar lib/

删除/opt/module/hadoop-2.6.0/share/hadoop/yarn/lib/jline-2.11.jar(pig版本不兼容)

4 连接测试

本地模式:

bin/pig –x local


hadoop底层院里 hadoop的pig_hadoop_02


集群模式:

bin/pig


hadoop底层院里 hadoop的pig_hadoop_03


下一篇将介绍Pig查询语言为Pig Latin的使用