Pig的搭建和配置

简介: Pig的搭建和配置

一、 任务描述

Pig内部,每个操作或变换是对输入进行数据处理,然后产生输出结果,这些变换操作被转换成一系列MapReduce作业,Pig让程序员不需要知道这些转换具体是如何进行的,这样工程师可以将精力集中在数据上,而非执行的细节上。本实验通过练习Pig的搭建和配置来为以后学习Pig做环境准备。


二、 任务目标

练习Pig的搭建和配置


三、 任务环境

Ubuntu16.04、Hadoop-2.7.3、Pig-0.17.0


四、 任务分析

通过Pig安装包安装Pig后,进行相关配置,然后练习Pig的两种模式和命令使用。

♥ 知识链接

Pig知识

 Apache Pig为大数据集的处理提供了更高层次的抽象,为mapreduce算法(框架)实现了一套类SQL的数据处理脚本语言的shell脚本,在Pig中称之为Pig Latin,在这套脚本中我们可以对加载出来的数据进行排序、过滤、求和、分组(group by)、关联(Joining),Pig也可以由用户自定义一些函数对数据集进行操作,也就是传说中的UDF(user-defined functions)。


五、 任务实施

步骤1、安装Pig

右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal】命令打开终端。在终端输入命令【cd /simple】进入simple目录下,然后使用命令【tar -zxvf /simple/soft/pig-0.17.0.tar.gz】解压Pig的tar包。如图1所示

9eb92433a5a243dc898b4a55a7b30f7f.png


图1 解压Pig安装包


查看解压好的软件并配置环境变量,如图2所示

ea547add1fef40d4a3221d55079f5089.png



图2 vim进入配置环境变量


进入”/etc/profile”文件后,按i键进入插入模式,并配置如下语句。如图3所示,配置完成后,按esc键回到正常模式,输入【:wq!】保存退出。

cd78007cd9e648efb15510ac9f246863.png



图3 配置环境变量


在终端输入命令【source /etc/profile】使环境变量生效。如图4所示


7dc31e8f387a4e7987feee4c846a7d0a.png


图4 使环境变量生效


输入命令【pig -version】,查看pig是否安装成功。如图5所示


73228e27ce5b4e168f70ccc5cf731d61.png


图5 查看Pig是否安装


步骤2、Pig的简单使用

Pig有两种执行模式,分别为:本地模式(Local)和MapReduce模式

本地模式下,Pig运行在单一的JVM中,可访问本地文件。该模式适用于处理小规模数据或学习之用。运行以下命名设置为本地模式:【pig –x local】,如图6所示


35ca39d4f0684c008d8babda2981f4b7.png


图6 运行Pig本地模式


输入命令【quit】退出pig的本地模式,因为Pig的MapReduce模式要用到Hadoop服务,所以在终端的命令行启动hadoop服务。如图7所示


d524af8c3fcc4691aa9e3bad69e18112.png


图7 启动Hadoop服务


在hdfs文件系统上新建一个目录,命令为【hadoop fs -mkdir /input】。如图8所示


741cc8fe77074a5b9b4eb444d466396f.png


图8 新建目录


在当前目录下输入【pig】命令启动pig,将默认启动为MapReduce模式。

在MapReduce模式下,Pig将查询转换为MapReduce作业提交给Hadoop(可以说群集 ,也可以说伪分布式)。如图9所示

b22575a66aca44c097c7a1882109ee97.png



图9 启动Pig的MapReduce模式


pig的好处之一是简化了HDFS的操作,没有pig之前要查看一个hdfs的文件,必须hadoop fs -ls /打一堆命令,而在pig shell交互模式下,只需要【ls /】即可。如图10所示


0951f5e8e89745b8ba6db16aef488a36.png


图10 pig模式下输入简单的命令

♥ Pig适用场景

Pig并不适合所有的数据处理任务,和MapReduce一样,它是为数据批处理而设计的,如果想执行的查询只涉及一个大型数据集的一小部分数据,Pig的实现不会很好,因为它要扫描整个数据集或其中很大一部分。随着新版本发布,Pig的表现和原生MapRedece程序差距越来越小,因为Pig的开发团队使用了复杂、精巧的算法来实现Pig的关系操作。除非你愿意花大量时间来优化Java MapReduce程序,否则使用Pig Latin来编写查询的确能帮你节约时间。


a442a986669f4d7e9b59283cfef3b101.png

相关文章
|
Apache 对象存储 分布式计算
|
SQL 机器学习/深度学习 存储
Hadoop生态系统中的数据查询与分析技术:Hive和Pig的比较与应用场景
Hadoop生态系统中的数据查询与分析技术:Hive和Pig的比较与应用场景
|
SQL 存储 分布式计算
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别(三)
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别(三)
246 0
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别(三)
|
SQL JSON 分布式计算
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别(二)
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别(二)
288 0
|
SQL 存储 分布式计算
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别(一)
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别(一)
400 0
|
SQL 分布式计算 关系型数据库
|
分布式计算 Hadoop Java
|
分布式计算 Hadoop Apache
Hadoop:pig 安装及入门示例
pig是hadoop的一个子项目,用于简化MapReduce的开发工作,可以用更人性化的脚本方式分析数据。 一、安装 a) 下载 从官网http://pig.apache.org下载最新版本(目前是0.14.0版本),最新版本可以兼容hadop 0.x /1.x / 2.x版本,直接解压到某个目录即可。
1215 0