如何执行Apache Pig,执行模式有几种
Admin 2022-09-26 群英技术资讯 1499 次浏览
关于“如何执行Apache Pig,执行模式有几种”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。在本章中,我们将讨论如何执行Apache Pig。
你可以以两种模式运行Apache Pig,即Local(本地)模式和HDFS模式。
在此模式下,所有文件都从本地主机和本地文件系统安装和运行,不需要Hadoop或HDFS。此模式通常用于测试目的。
MapReduce模式是我们使用Apache Pig加载或处理Hadoop文件系统(HDFS)中存在的数据的地方。在这种模式下,每当我们执行Pig Latin语句来处理数据时,会在后端调用一个MapReduce作业,以对HDFS中存在的数据执行特定的操作。
Apache Pig脚本可以通过三种方式执行,即交互模式,批处理模式和嵌入式模式。
交互模式(Grunt shell) - 你可以使用Grunt shell以交互模式运行Apache Pig。在此shell中,你可以输入Pig Latin语句并获取输出(使用Dump运算符)。
批处理模式(脚本) - 你可以通过将Pig Latin脚本写入具有 .pig 扩展名的单个文件中,以批处理模式运行Apache Pig。
嵌入式模式(UDF) - Apache Pig允许在Java等编程语言中定义我们自己的函数(UDF用户定义函数),并在我们的脚本中使用它们。
你可以使用“-x"选项以所需的模式(local/MapReduce)调用Grunt shell,如下所示。
| Local模式 | MapReduce模式 |
|---|---|
Command(命令) - $ ./pig -x local |
Command(命令)- $ ./pig -x mapreduce |
Output(输出) - ![]() |
Output(输出)- ![]() |
这两个命令都给出了Grunt shell提示符,如下所示。
grunt>
你可以使用“ctrl+d"退出Grunt shell。
在调用Grunt shell之后,可以通过直接输入Pig中的Pig Latin语句来执行Pig脚本。
grunt> customers = LOAD 'customers.txt' USING PigStorage(',');
你可以在文件中编写整个Pig Latin脚本,并使用 -x command 执行它。我们假设在一个名为 sample_script.pig 的文件中有一个Pig脚本,如下所示。
student = 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脚本。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
大数据是什么?对于大数据想必大家都有听过,但是很多对于大数据是什么其实并不清楚,下面小编就给大家简单介绍下,如何大数据?感兴趣的朋友可以看看。
ORDER BY 运算符用于以基于一个或多个字段的排序顺序显示关系的内容。语法下面给出了 ORDER BY 运算符的语法。grunt> Relation_name2 = ORDER Relatin_name1 BY (ASC|DESC);
explain 运算符用于显示关系的逻辑,物理和MapReduce执行计划。语法下面给出了 explain 运算符的语法。grunt> explain Relation_name;例假设在HDFS中有一个包含以下内容的文件 student_data.txt 。
describe 运算符用于查看关系的模式。语法 describe 运算符的语法如下grunt> Describe Relation_name。例假设在HDFS中有一个包含以下内容的文件 student_data.txt 。
JOIN 运算符用于组合来自两个或多个关系的记录。在执行连接操作时,我们从每个关系中声明一个(或一组)元组作为key。 当这些key匹配时,两个特定的元组匹配,否则记录将被丢弃。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008