基本信息

官网 http://pig.apache.org/
下载地址 http://www.apache.org/dyn/closer.cgi/pig
https://mirror.bit.edu.cn/apache/pig
https://mirrors.bfsu.edu.cn/apache/pig
https://mirrors.tuna.tsinghua.edu.cn/apache/pig
开源中国 https://www.oschina.net/p/pig?hmsr=aladdin1e1

简介

Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。

Pig包括两部分:

用于描述数据流的语言,称为Pig Latin。
1、用于执行Pig Latin程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoop集群上的分布式执行环境。
  Pig内部,每个操作或变换是对输入进行数据处理,然后产生输出结果,这些变换操作被转换成一系列MapReduce作业,Pig让程序员不需要知道这些转换具体是如何进行的,这样工程师可以将精力集中在数据上,而非执行的细节上。
2、 Pig的特点
(1)专注于于大量数据集分析;
(2)运行在集群的计算架构上,Yahoo Pig 提供了多层抽象,简化并行计算让普通用户使用;这些抽象完成自动把用户请求queries翻译成有效的并行评估计划,然后在物理集群上执行这些计划;
(3)提供类似 SQL 的操作语法;
(4)开放源代码;

3、 Pig与Hive的区别
  对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。于是Hadoop提供了两个解决方案,使得Hadoop编程变得更加容易。

•Pig是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(如日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。

•Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS,并允许使用类似于SQL语法进行数据查询。与Pig一样,Hive的核心功能是可扩展的。

Pig和Hive总是令人困惑的。Hive更适合于数据仓库的任务,Hive主要用于静态的结构以及需要经常分析的工作。Hive与SQL相似促使 其成为Hadoop与其他BI工具结合的理想交集。Pig赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的应用程序。Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量。正因为如此,Pig仍然是吸引大量的软件开发人员。

集群背景

1、Centos7.x 安装OpenJDK1.8
https://blog.csdn.net/llwy1428/article/details/111144659
2、Centos7.x 安装部署 Hadoop 3.x HDFS基础环境
https://blog.csdn.net/llwy1428/article/details/111144524
3、Centos7.x Hadoop 3.x 部署 YARN 集群
https://blog.csdn.net/llwy1428/article/details/111464707

安装部署

1、下载安装文件 pig-0.17.0.tar.gz

[root@master ~]# wget -P /usr/bigdata/ https://mirror.bit.edu.cn/apache/pig/pig-0.17.0/pig-0.17.0.tar.gz


2、进入下载目录

[root@master ~]# cd /usr/bigdata/

3、解压文件

[root@master bigdata]# tar zxf pig-0.17.0.tar.gz

4、进入 Pig 的目录、查看文件列表

[root@master bigdata]# cd pig-0.17.0


5、设置 Pig 的系统环境变量
(1)编辑文件

[root@master ~]# vim /etc/profile

(2)编辑内容

export PIG_HOME="/usr/bigdata/pig-0.17.0"
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PIG_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/common/lib/*:$PIG_HOME/lib


(3)使已配置的环境变量生效

[root@master ~]# source /etc/profile

6、编辑 Pig 的配置文件
(1)编辑 pig.properties

[root@master ~]# vim /usr/bigdata/pig-0.17.0/conf/pig.properties

(2)编辑内容

fs.default.name=hdfs://master:9820
mapred.job.tracker=master:8030
exectype=mapreduce
pig.cachedbag.memusage=0.2

(3)编辑 Pig 目录 bin 下的 pig 文件

[root@master bin]# vim pig

(4)编辑、增加内容

JAVA_HOME=/usr/lib/jvm/java-1.8.0
HADOOP_HOME=/usr/bigdata/hadoop-3.3.0
HADOOP_CONF_DIR=/usr/bigdata/hadoop-3.3.0/etc/hadoop
PIG_CLASSPATH=/usr/bigdata/hadoop-3.3.0/etc/hadoop

7、在 HDFS 中创建目录,用来存放 Pig 的输入文件

[root@master ~]# hdfs dfs -mkdir -p /user/pig/input

8、测试文件 HTTP_20130313143750.dat 下载地址
https://download.csdn.net/download/llwy1428/14092793
把下载的 测试文件 HTTP_20130313143750.dat 上传至 HDFS 中 Pig 的输入目录

[root@master ~]# hdfs dfs -put /tmp/HTTP_20130313143750.dat /user/pig/input

9、Pig 和 Hadoop 统一 guava 版本

[root@master ~]# cd /usr/bigdata/pig-0.17.0/lib
[root@master lib]# rm -rf guava-11.0.jar
[root@master lib]# cp /usr/bigdata/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar ./

10、启动 Pig

[root@master pig-0.17.0]# bin/pig

如果报错

Cannot locate pig-core-h2.jar. do 'ant jar', and try again

则需要启动 ApplicationHistoryServer、timelineserver、JobHistoryServer
启动 ApplicationHistoryServer、timelineserver 配置如下
https://blog.csdn.net/llwy1428/article/details/112417384

11、分别启动服务

/usr/bigdata/hadoop-3.3.0/sbin/mr-jobhistory-daemon.sh start historyserver
/usr/bigdata/hadoop-3.3.0/sbin/yarn-daemon.sh start timelineserver

12、查看服务启动状态

[root@master ~]# jps
[root@master ~]# jps -l


13、启动 Pig 服务

[root@master ~]# /usr/bigdata/pig-0.17.0/bin/pig
或
[root@master ~]# pig


14、实例测试 HTTP_20130313143750.dat

grunt> A = LOAD '/user/pig/input/HTTP_20130313143750.dat' AS (t0:long,msisdn:chararray, t2:chararray, t3:chararray, t4:chararray, t5:chararray, t6:long, t7:long, t8:long, t9:long, t10:chararray);

grunt> DUMP A;



15、实例 2
(1)创建文件

[root@master ~]# touch /tmp/pig-wordcount.txt

(2)向文件 pig-wordcount.txt 写入测试内容

[root@master ~]# echo "hadoop,hadoop,hive,hbase,flume,pig,zookeeper,flume,kafka,storm,spark,kudu,flink,mysql,hadoop,hive,hbase,flume,pig,zookeeper,flume,kafka,hadoop,hive,hbase,flume,pig,zookeeper,flume,kafka,flume,pig,zookeeper,flume,kafka,storm,spark,kudu,flink,mysql,hadoop,hive,hbase,flume,pig,zookeeper,flume,kafka,hadoop,hive,hbase,flume,kafka,flume,pig,zookeeper,flume,kafka,storm,spark,kudu,flink,mysql,hadoop,hive,hbase,flume,pig,zookeeper,flume" >> /tmp/pig-wordcount.txt

(3)把文件 pig-wordcount.txt 上传至 HDFS

[root@master ~]# hdfs dfs -put /tmp/pig-wordcount.txt /user/pig/input

(4)启动 Pig

[root@master ~]# pig

(5)执行命令

grunt> B = LOAD '/user/pig/input/pig-wordcount.txt' AS (line:chararray);
grunt> C = foreach B generate flatten(TOKENIZE(line,'\t,.'))as word;
grunt> D = group C by word;
grunt> E = foreach D generate group,COUNT(C) as count;
grunt> DUMP E;

效果如下:


16、在 HDFS 的 Web 页面查看运行结果

17、查看输入的文件内容

18、查看执行的结果

19、退出 Pig

至此,Centos7.x Hadoop3.x集群安装部署 Pig 0.17.0 操作完毕,希望能够对您有所帮助!

记一次 Centos7.x Hadoop3.x集群安装部署 Pig 0.17.0相关推荐

  1. rocketmq集群安装部署过程(4.0.0版本)、安装中的常见问题举例

    本篇博文参考:http://www.cnblogs.com/quchunhui/p/7126868.html,然后按照自己的环境进行重新编写 准备工作: 下载rocketmq-all-4.0.0-in ...

  2. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  3. centos7 下google Kubernetes(k8s)集群安装部署

    centos7 下google Kubernetes(k8s)集群安装部署 简介 安装环境 安装前准备 ECTD集群配置 命令含义: master节点配置 1.安装kubernetes和etcd 2. ...

  4. Hadoop-HA集群安装部署

    HA高可用集群安装部署 1 运行环境 1.1 软件环境 三个节点及以上 OS:64位RHEL5及以上或者64位CentOS7.0及以上 JVM:预装64位JDK 1.8及以上版本 1.2 浏览器 ...

  5. HBase 1.2.6 完全分布式集群安装部署详细过程

    2019独角兽企业重金招聘Python工程师标准>>> Apache HBase 是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,是NoSQL数据库,基于Google Big ...

  6. Centos6.5集群安装64位hadoop2.2.0

    2019独角兽企业重金招聘Python工程师标准>>> Centos6.5集群安装64位hadoop2.2.0: 网络环境,整3台虚拟机或者物理机,配置好相应网络,编辑/etc/ho ...

  7. SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)

    SolrCloud 分布式集群安装部署 安装软件包准备 · apache-tomcat-7.0.54 · jdk1.7 · solr-4.8.1 · zookeeper-3.4.5 注:以上软件都是基 ...

  8. zookeeper集群安装部署

    zookeeper集群安装部署 1:规划:     集群建议至少在三台服务器上部署     192.168.1.171     192.168.1.172     192.168.1.173 2:去各 ...

  9. 企业实战_18_MyCat_ZK集群安装部署

    接上一篇:企业实战_17_MyCat水平扩展_跨分片查询_ER分片 https://gblfy.blog.csdn.net/article/details/100066013 文章目录 一.使用ZK记 ...

最新文章

  1. git提交输入账号和密码_GitHub-本地项目提交至GitHub
  2. 【JavaScript】核心语法之数组
  3. java 泛型 擦除_Java泛型和类型擦除
  4. Python项目实践:绘制七段数码管
  5. 2019三星比2018好在哪_高端人士的选择: 三星w2019与三星w2018相比, 是什么让它如此价值不菲...
  6. 【转】Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
  7. 【引用】别让理想毁了人生
  8. python能做什么软件-初学python编程,有哪些不错的软件值得一用?
  9. Hello China操作系统的安装和使用
  10. Unity Lighting - Choosing a Color Space 选择色彩空间(四)
  11. 中孚计算机保密 卸载,智华计算机终端保密检查系统怎样卸载
  12. 步进驱动器简单接线说明书
  13. 东莞芯钰科运动控制卡实战记录-硬件篇
  14. Java项目:Springboot校园报修管理系统
  15. CSDN博客去图片水印
  16. 计算机显示器使用的扫描方式,平板扫描仪怎么用 平板扫描仪使用方法【详解】...
  17. Ubuntu18系统 PL2303GT驱动安装及绑定
  18. FFplay文档解读-49-多媒体过滤器三
  19. 输出教师信息c语言作业,C语言教师管理系统代码(最新整理)
  20. XCTF 攻防世界 MISC杂项 高手进阶区

热门文章

  1. Redis常用操作之批量删除keys,和清空整个数据库
  2. oracle找回删除的表
  3. The run destination iPhone is not valid for running the scheme “xx”
  4. uni-app框架开发app中出现的问题(持续更新中...)
  5. IEC61131-3标准的基本概念和定义
  6. cas19660-77-6/Chlorin E6/二氢卟吩 E6;meso-四(4-甲基-3-磺酸苯基)卟啉[简称T(4-MP)PS4];碘化四(4-三甲氨基苯基)卟啉(TTMAPPI)齐岳定制
  7. 51 汇编语言编程:8个按键控制8个LED
  8. 请说说CommonJS和ES module的区别
  9. Python NumPy 基础:数组和向量计算
  10. Java后台与微信小程序的数据交互