Pig的搭建和配置

Pig的搭建和配置

  • 一、 任务描述
  • 二、 任务目标
  • 三、 任务环境
  • 四、 任务分析
  • 五、 任务实施
    • 步骤1、安装Pig
    • 步骤2、Pig的简单使用

原创申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
全文共计2663字,阅读大概需要3分钟
欢迎关注我的个人公众号:不懂开发的程序猿

一、 任务描述

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所示
在这里插入图片描述

图1 解压Pig安装包

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

在这里插入图片描述

图2 vim进入配置环境变量

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

Pig的搭建和配置_第1张图片

图3 配置环境变量

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

在这里插入图片描述

图4 使环境变量生效

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

在这里插入图片描述

图5 查看Pig是否安装

步骤2、Pig的简单使用

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

Pig的搭建和配置_第2张图片

图6 运行Pig本地模式

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

Pig的搭建和配置_第3张图片

图7 启动Hadoop服务

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

在这里插入图片描述

图8 新建目录

在当前目录下输入【pig】命令启动pig,将默认启动为MapReduce模式。
在MapReduce模式下,Pig将查询转换为MapReduce作业提交给Hadoop(可以说群集 ,也可以说伪分布式)。如图9所示

Pig的搭建和配置_第4张图片

图9 启动Pig的MapReduce模式

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

在这里插入图片描述

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

Pig的搭建和配置_第5张图片

你可能感兴趣的:(大数据运维基础,java,服务器,开发语言)