Hadoop Pig 教程:什么是 Apache Pig? Archi结构,示例

我们将从 Pig 的介绍开始

什么是阿帕奇猪?

Pig 是一种高级编程语言,可用于分析大型数据集。Pig 是 Yahoo 开发的成果!

在 MapReduce 框架中,程序需要转换为一系列 Map 和 Reduce 阶段。然而,这不是数据分析师熟悉的编程模型。因此,为了弥补这一差距,在 Hadoop 之上构建了一个名为 Pig 的抽象。

Apache Pig 使人们能够更加专注于 分析大量数据集并减少编写 Map-Reduce 程序的时间。 阿帕奇猪与什么都吃的猪类似, 编程语言 旨在处理任何类型的数据。这就是 Pig 的名字由来!

这就是猪这个名字的由来!
这就是猪这个名字的由来!

在本 Apache Pig 初学者教程中,您将学习-

猪 Archi质地

- ArchiPig 的结构由两部分组成:

  1. 猪拉丁语, 这是一种语言
  2. 运行时环境, 用于运行 PigLatin 程序。

Pig Latin 程序由一系列操作或转换组成,这些操作或转换应用于输入数据以产生输出。这些操作描述了数据流,由 Hadoop Pig 执行环境将其转换为可执行表示。在底层,这些转换的结果是程序员不知道的一系列 MapReduce 作业。因此,在某种程度上,Hadoop 中的 Pig 允许程序员专注于数据而不是执行的性质。

PigLatin 是一种相对僵化的语言,它使用数据处理中熟悉的关键字,例如 Join、Group 和 Filter。

Hadoop PIG 教程:简介、安装和示例
PIG Archi质地

执行模式:

Hadoop中的Pig有两种执行模式:

  1. 本地模式:在此模式下,Hadoop Pig 语言在单个 JVM 并使用本地文件系统。此模式仅适用于使用 Hadoop 中的 Pig 分析小数据集
  2. Map Reduce 模式:在此模式下,用 Pig Latin 编写的查询将被翻译成 映射简化 作业在 Hadoop 集群上运行(集群可以是伪分布式或完全分布式)。完全分布式集群的 MapReduce 模式对于在大型数据集上运行 Pig 非常有用。

如何下载和安装 Pig

现在,在本 Apache Pig 教程中,我们将学习如何下载和安装 Pig:

在开始实际操作之前,请确保您已安装 Hadoop。将用户更改为“hduser”(Hadoop 配置时使用的 ID,您可以切换到 Hadoop 配置期间使用的用户 ID)

Hadoop PIG 教程:简介、安装和示例

步骤1) 从以下任一镜像站点下载 Pig Hadoop 的稳定最新版本:

http://pig.apache.org/releases.html

Hadoop PIG 教程:简介、安装和示例

选择 tar.gz的 (并不是 源码: 文件下载。

步骤2) 下载完成后,导航到包含下载的 tar 文件的目录,并将 tar 移动到要设置 Pig Hadoop 的位置。在本例中,我们将移动到 /usr/local

Hadoop PIG 教程:简介、安装和示例

移动到包含 Pig Hadoop 文件的目录

cd /usr/local

提取 tar 文件的内容如下

sudo tar -xvf pig-0.12.1.tar.gz

Hadoop PIG 教程:简介、安装和示例

步骤3)。 修改 在〜/ .bashrc 添加Pig相关的环境变量

可选 在〜/ .bashrc 在您选择的任何文本编辑器中保存并进行以下修改-

export PIG_HOME=<Installation directory of Pig>
export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH

Hadoop PIG 教程:简介、安装和示例

步骤4) 现在,使用以下命令获取此环境配置

. ~/.bashrc

Hadoop PIG 教程:简介、安装和示例

步骤5) 我们需要重新编译 PIG 支持 Hadoop 2.2.0

以下是执行此操作的步骤 -

转到 PIG 主目录

cd $PIG_HOME

安装 Ant

sudo apt-get install ant

Hadoop PIG 教程:简介、安装和示例

注意:下载将开始,并将根据您的网速消耗时间。

重新编译 PIG

sudo ant clean jar-all -Dhadoopversion=23

Hadoop PIG 教程:简介、安装和示例

请注意,在此重新编译过程中会下载多个组件。因此,系统应连接到互联网。

另外,如果这个过程卡在某个地方,并且你在命令提示符下超过 20 分钟没有看到任何动静,那么请按 Ctrl + c 并重新运行相同的命令。

在我们的例子中,需要 20 分钟

Hadoop PIG 教程:简介、安装和示例

步骤 6) 测试 使用命令安装

pig -help

Hadoop PIG 教程:简介、安装和示例

Pig 脚本示例

我们将使用 Pig Scripts 来查找每个国家销售的产品数量。

输入: 我们的输入数据集是一个 CSV 文件, 2009 年 XNUMX 月销售额.csv

步骤 1) 启动 Hadoop

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

步骤 2) 大数据中的 Pig 从 高密度文件系统 以MapReduce模式进行并将结果存储回HDFS。

拷贝文件 2009 年 XNUMX 月销售额.csv (存储在本地文件系统上, ~/输入/SalesJan2009.csv) 到 HDFS (Hadoop 分布式文件系统) 主目录

在此 Apache Pig 示例中,文件位于文件夹输入中。如果文件存储在其他位置,则指定该名称

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /

Hadoop PIG 教程:简介、安装和示例

验证文件是否确实被复制。

$HADOOP_HOME/bin/hdfs dfs -ls /

Hadoop PIG 教程:简介、安装和示例

步骤3) Pig 配置

首先,导航到 $PIG_HOME/conf

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

Hadoop PIG 教程:简介、安装和示例

可选 pig.properties 使用您选择的文本编辑器,并使用指定日志文件路径 pig.log文件

sudo gedit pig.properties

Hadoop PIG 教程:简介、安装和示例

Loger 将利用此文件来记录错误。

步骤4) 运行命令“pig”,它将启动 Pig 命令提示符,这是一个交互式 shell Pig 查询。

pig

Hadoop PIG 教程:简介、安装和示例

步骤5)在 Pig 的 Grunt 命令提示符中,按顺序执行以下 Pig 命令。

— A. 加载包含数据的文件。

salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);

执行此命令后按 Enter。

Hadoop PIG 教程:简介、安装和示例

— B.按 Country 字段分组数据

GroupByCountry = GROUP salesTable BY Country;

Hadoop PIG 教程:简介、安装和示例

— C. 对于 '按国家分组',生成形式为 -> 国家名称: 销售产品数量 的结果字符串

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));

执行此命令后按 Enter。

Hadoop PIG 教程:简介、安装和示例

— D. 将数据流的结果存储在目录中 ‘猪产量销售额’ 在 HDFS 上

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');

Hadoop PIG 教程:简介、安装和示例

此命令需要一些时间才能执行。完成后,您应该会看到以下屏幕

Hadoop PIG 教程:简介、安装和示例

步骤6) 通过命令界面可以看到结果如下:

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

Hadoop PIG 教程:简介、安装和示例

也可以通过 Web 界面查看结果:

通过 Web 界面查看结果

可选 http://localhost:50070/ 在网络浏览器中。

Hadoop PIG 教程:简介、安装和示例

现在选择 “浏览文件系统” 并导航至 /用户/hduser/pig_output_sales

Hadoop PIG 教程:简介、安装和示例

可选 部分-r-00000

Hadoop PIG 教程:简介、安装和示例