#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。
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
集群模式:
bin/pig
下一篇将介绍Pig查询语言为Pig Latin的使用