运行脚本
编辑教程运行脚本
在本章中,我们将了解如何以批处理模式运行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,Kolkata
003,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.pig
Apache 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 12
minutes, 32 seconds and 751 milliseconds (752751 ms)
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟