开发手册 欢迎您!
软件开发者资料库

Apache Pig - 执行

Apache Pig执行 - 从概述,体系结构,安装,执行,Grunt Shell,Pig Latin Basics,读取数据,存储数据,诊断运算符,描述运算符,解释运算符,Illustrate运算符,Group运算符,Cogroup运算符,Join运算符开始学习Apache Pig ,跨运算符,联合运算符,拆分运算符,过滤运算符,不同运算符,Foreach运算符,排序依据,限制运算符,Eval函数,加载和存储函数,Bag和Tuple函数,字符串函数,日期时间函数,数学函数,用户定义功能,运行脚本。

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

Apache Pig执行模式

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

本地模式

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

MapReduce模式

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

Apache Pig执行机制

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

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

  • 批处理模式(脚本) : 您可以在批处理模式下运行Apache Pig,方法是将Pig Latin脚本写入一个扩展名为 .pig 的文件中.

  • 嵌入模式(UDF) :  Apache Pig提供了在Java等编程语言中定义我们自己的函数( U ser D efined F unctions)并在其中使用它们的功能.我们的脚本.

调用Grunt Shell

您可以调用所需的Grunt shell模式(local/MapReduce)使用 :  x 选项,如下所示.

本地模式MapReduce模式

命令&减号;

$ ./pig -x local

命令与减号;

$ ./pig -x mapreduce

输出 :

本地模式输出

输出 :

MapReduce模式输出

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

grunt>

您可以使用'ctrl+退出Grunt shell. d'.

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

 grunt> customers = LOAD'consients.txt'使用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);

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

本地模式MapReduce模式
$ pig -x local Sample_script.pig $ pig -x mapreduce Sample_script.pig

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