当前位置:K88软件开发文章中心大数据Apache Pig → 文章内容

Apache Pig 执行

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-26 10:03:29

由 jarodhu 创建,youj 最后一次修改 2016-12-28 在上一章中,我们解释了如何安装Apache Pig。在本章中,我们将讨论如何执行Apache Pig。Apache Pig执行模式你可以以两种模式运行Apache Pig,即Local(本地)模式和HDFS模式。Local模式在此模式下,所有文件都从本地主机和本地文件系统安装和运行,不需要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) - Apache Pig允许在Java等编程语言中定义我们自己的函数(UDF用户定义函数),并在我们的脚本中使用它们。调用Grunt Shell你可以使用“-x"选项以所需的模式(local/MapReduce)调用Grunt shell,如下所示。Local模式MapReduce模式Command(命令) - $ ./pig -x localCommand(命令)- $ ./pig -x mapreduceOutput(输出) - Output(输出)- 这两个命令都给出了Grunt shell提示符,如下所示。grunt>你可以使用“ctrl+d"退出Grunt shell。在调用Grunt shell之后,可以通过直接输入Pig中的Pig Latin语句来执行Pig脚本。grunt> customers = LOAD 'customers.txt' USING PigStorage(',');在批处理模式下执行Apache Pig你可以在文件中编写整个Pig Latin脚本,并使用 -x command 执行它。我们假设在一个名为 sample_script.pig 的文件中有一个Pig脚本,如下所示。Sample_script.pigstudent = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',') as (id:int,name:chararray,city:chararray); Dump student;现在,你可以在上面的文件中执行脚本,如下所示。Local模式MapReduce模式$ pig -x local Sample_script.pig $ pig -x mapreduce Sample_script.pig注意:我们将详细讨论如何在批处理模式和嵌入模式中运行Pig脚本。

Apache Pig 执行