Apache Pig – 执行

Apache Pig – 执行


在上一章中,我们解释了如何安装 Apache Pig。在本章中,我们将讨论如何执行 Apache Pig。

Apache Pig 执行模式

您可以在两种模式下运行 Apache Pig,即本地模式HDFS 模式

本地模式

在此模式下,所有文件都从本地主机和本地文件系统安装和运行。不需要 Hadoop 或 HDFS。此模式一般用于测试目的。

MapReduce 模式

MapReduce 模式是我们使用 Apache Pig 加载或处理 Hadoop 文件系统 (HDFS) 中存在的数据的地方。在这种模式下,每当我们执行 Pig Latin 语句来处理数据时,都会在后端调用 MapReduce 作业对 HDFS 中存在的数据执行特定操作。

Apache Pig 执行机制

Apache Pig 脚本可以通过三种方式执行,即交互模式、批处理模式和嵌入模式。

  • 交互模式(Grunt shell)- 您可以使用 Grunt shell 以交互模式运行 Apache Pig。在此 shell 中,您可以输入 Pig Latin 语句并获取输出(使用 Dump 运算符)。

  • 批处理模式(脚本)- 您可以通过在单个文件中编写 Pig Latin 脚本以.pig扩展名以批处理模式运行 Apache Pig

  • 嵌入模式(UDF) -阿帕奇猪提供了定义我们自己的函数(的规定ü SER d efined ˚F unctions)在诸如Java编程语言,并在我们的脚本中使用它们。

调用 Grunt Shell

您可以使用-x选项以所需模式(本地/MapReduce)调用 Grunt shell,如下所示。

Local mode MapReduce 模式

Command −

$ ./pig –x local

Command −

$ ./pig -x mapreduce

Output

Local Mode Output

输出

MapReduce 模式输出

这些命令中的任何一个都会为您提供 Grunt shell 提示,如下所示。

grunt>

您可以使用‘ctrl &plus d’退出 Grunt shell

调用 Grunt shell 后,您可以通过直接在其中输入 Pig Latin 语句来执行 Pig 脚本。

grunt> customers = LOAD 'customers.txt' USING PigStorage(',');

以批处理模式执行 Apache Pig

您可以在文件中编写整个 Pig Latin 脚本并使用–x 命令执行它假设我们在名为sample_script.pig的文件中有一个 Pig 脚本,如下所示。

sample_script.pig

student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
   PigStorage(',') as (id:int,name:chararray,city:chararray);
  
Dump student;

现在,您可以执行上述文件中的脚本,如下所示。

Local mode MapReduce 模式
$ pig -x local Sample_script.pig $ pig -x mapreduce Sample_script.pig

注意– 我们将在后续章节中详细讨论如何在Bach 模式嵌入模式下运行 Pig 脚本

觉得文章有用?

点个广告表达一下你的爱意吧 !😁