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

Apache Pig 运行脚本

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

由 jarodhu 创建,youj 最后一次修改 2016-12-28 在本章中,我们将了解如何以批处理模式运行Apache Pig脚本。Pig脚本中的注释在将脚本写入文件时,我们可以在其中包含注释,如下所示。多行注释我们将用'/*'开始多行注释,以'*/'结束。/* These are the multi-line comments In the pig script */ 单行注释我们将用“--"开始单行注释。--we can write single line comments like this.在批处理模式下执行Pig脚本在以批处理方式执行Apache Pig语句时,请按照以下步骤操作。步骤1将所有需要的Pig Latin语句写在单个文件中。我们可以将所有Pig Latin语句和命令写入单个文件,并将其另存为 .pig 文件。步骤2执行Apache Pig脚本。你可以从shell(Linux)执行Pig脚本,如下所示。Local模式MapReduce模式$ pig -x local Sample_script.pig$ pig -x mapreduce Sample_script.pig你可以使用exec命令从Grunt shell执行它,如下所示。grunt> exec /sample_script.pig从HDFS执行Pig脚本我们还可以执行驻留在HDFS中的Pig脚本。假设在名为 /pig_data/ 的HDFS目录中有名为 Sample_script.pig 的Pig脚本。我们可以执行它如下所示。$ pig -x mapreduce hdfs://localhost:9000/pig_data/Sample_script.pig 例假设在HDFS中有一个具有以下内容的文件 student_details.txt 。 student_details.txt 001,Rajiv,Reddy,21,9848022337,Hyderabad 002,siddarth,Battacharya,22,9848022338,Kolkata003,Rajesh,Khanna,22,9848022339,Delhi 004,Preethi,Agarwal,21,9848022330,Pune 005,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar 006,Archana,Mishra,23,9848022335,Chennai 007,Komal,Nayak,24,9848022334,trivendram 008,Bharathi,Nambiayar,24,9848022333,Chennai我们还在同一个HDFS目录中有一个名为 sample_script.pig 的示例脚本。此文件包含对student关系执行操作和转换的语句,如下所示。student = LOAD 'hdfs://localhost:9000/pig_data/student_details.txt' USING PigStorage(',') as (id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray);student_order = ORDER student BY age DESC; student_limit = LIMIT student_order 4; Dump student_limit;脚本的第一个语句会将名为 student_details.txt 的文件中的数据加载为名为student的关系。脚本的第二个语句将根据年龄以降序排列关系的元组,并将其存储为 student_order 。脚本的第三个语句会将 student_order 的前4个元组存储为 student_limit 。最后,第四个语句将转储关系 student_limit 的内容。现在,执行 sample_script.pig ,如下所示。$./pig -x mapreduce hdfs://localhost:9000/pig_data/sample_script.pigApache Pig被执行,并提供具有以下内容的输出。(7,Komal,Nayak,24,9848022334,trivendram)(8,Bharathi,Nambiayar,24,9848022333,Chennai) (5,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar) (6,Archana,Mishra,23,9848022335,Chennai)2015-10-19 10:31:27,446 [main] INFO org.apache.pig.Main - Pig script completed in 12minutes, 32 seconds and 751 milliseconds (752751 ms)

Apache Pig 运行脚本