Pig执行 Pig安装 Pig shell 在前一章中,我们解释了如何安装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操作符)。 批处理模式 (脚本) - 您可以在批处理模式下运行Apache Pig,方法是将Pig Latin脚本以 .pig 扩展名写入单个文件。 嵌入模式 (UDF) -Apachepig提供了定义我们自己的函数(的规定 ü SER d efined ˚F unctions)的编程语言如Java,并在我们的脚本中使用它们。 调用Grunt Shell 您可以使用 -x 选项以所需的模式(local / MapReduce)调用Grunt shell,如下所示。 Local mode MapReduce mode 命令 - $ ./pig -x local 命令 - $ ./pig -x mapreduce 输出 输出 这些命令中的任何一个都可以为您提供Grunt shell提示符,如下所示。 grunt> 您可以使用 'ctrl + 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 mode $ pig -x local Sample_script.pig $ pig -x mapreduce Sample_script.pig 注 - 我们将详细讨论如何 在后续章节中以 Bach模式 和 嵌入模式 运行Pig脚本。 Pig安装 Pig shell