pig的各种运行模式与运行方式详解
.一、pig的运行模式:
Pig 有两种运行模式: Local 模式和 MapReduce 模式。当 Pig 在 Local 模式运行的时候, Pig 将只访问本地一台主机;当 Pig 在 MapReduce 模式运行的时候, Pig 将访问一个 Hadoop 集群和 HDFS 的安装位置。这时, Pig 将自动地对这个集群进行分配和回收。因为 Pig 系统可以自动地对 MapReduce 程序进行优化,所以当用户使用 Pig Latin 语言进行编程的时候,不必关心程序运行的效率, Pig 系统将会自动地对程序进行优化。这样能够大量节省用户编程的时间。
测试示例如下:
本地模式:pig -x local test.pig
MapReduce模式:pig test.pig(或者pig -x mapreduce test.pig,pig test.pig为其简写形式)
二、pig运行方式:
Pig 的 Local 模式和 MapReduce 模式都有三种运行方式,分别为: Grunt Shell 方式、脚本文件方式和嵌入式程序方式。下面我们将对其进行一一介绍。
1.Local 模式:
( 1 ) Grunt Shell 方式
用户使用 Grunt Shell 方式时,需要首先使用命令开启 Pig 的 Grunt Shell ,只需在 Linux 终端中输入如下命令并执行即可:
$pig –x local
这样 Pig 将进入 Grunt Shell 的 Local 模式,如果直接输入“ $pig ”命令, Pig 将首先检测 Pig 的环境变量设置,然后进入相应的模式。如果没有设置 MapReduce 环
境变量, Pig 将直接进入 Local 模式。
Grunt Shell 和 Windows 中的 Dos 窗口非常类似,这里用户可以一条一条地输入命令对数据进行操作。
( 2 ) 脚本文件方式
使用脚本文件作为批处理作业来运行 Pig 命令,它实际上就是第一种运行方式中命令的集合,使用如下命令可以在本地模式下运行 Pig 脚本:
$pig –x local script.pig
其中,“ script.pig ”是对应的 Pig 脚本,用户在这里需要正确指定 Pig 脚本的位置,否则,系统将不能识别。例如, Pig 脚本放在“ /root/pigTmp ”目录下,那
么这里就要写成“ /root/pigTmp/script.pig ”。用户在使用的时候需要注意 Pig 给出的一些提示,充分利用这些能够帮助用户更好地使用 Pig 进行相关的操作 。
( 3 ) 嵌入式程序方式
我们可以把 Pig 命令嵌入到主机语言中,并且运行这个嵌入式程序。和运行普通的 Java 程序相同,这里需要书写特定的 Java 程序,并且将其编译生成对应的 class 文
件或 package 包,然后再调用 main 函数运行程序。用户可以使用下面的命令对 Java 源文件进行编译:
$javac -cp pig-*.*.*-core.jar local.java
这里“ pig-*.*.*-core.jar ”放在 Pig 安装目录下,“ local.java ”为用户编写的 java 源文件,并且“ pig-*.*.*-core.jar ”和“ local.java ”需要用户正确地指定相应的 位置。例如,我们的“ pig-*.*.*-core.jar ”文件放在“ /root/hadoop-0.20.2/ ”目录下,“ local.java ”文件放在“ /root/pigTmp ”目录下,所以这一条命令我们应 该写成:$javac -cp /root/hadoop-0.20.2/ pig- 0 . 20 . 2 -core.jar /root/pigTmp/ local.java当编译完成后, Java 会生成“ local.class ”文件,然后用户可以通过 如下命令调用执行此文件。
$ java -cp pig-*.*.*-core.jar:. Local
2.MapReduce 模式
(1 ) Grunt Shell 方式
用户在 Linux 终端下输入如下命令进入 Grunt Shell 的 MapReduce 模式:
$pig –x mapreduce
( 2 ) 脚本文件方式
用户可以使用如下命令在 MapReduce 模式下运行 Pig 脚本文件。
$pig –x mapreduce script.pig
(3 ) 嵌入式程序
和 Local 模式相同,在 MapReduce 模式下运行嵌入式程序同样需要经过编译和执行两个步骤。用户可以使用如下两条命令,完成相应的操作。
javac -cp pig-0.7.0-core.jar mapreduce.java
java -cp pig-0.7.0-core.jar:. mapreduce
注:如果想查看pig的详细使用说明,请参考“pig学习教程”:http://blog.csdn.net/zhu_xun/article/details/16819169
相关推荐
这是一个关于pig的mapreduce模式的安装及配置的文档, 图文结合,按步骤详细介绍了整个过程。希望对大家有所帮助。
来试试Pig安装,与学学Pig Latin语言,玩玩应用案例
Pig运行在Hadoop上,是对大型数据集进行分析和评估的平台。它简化了使用Hadoop进行数据分析的要求,提供了一个高层次的、面向领域的抽象语言:PigLatin。通过PigLatin,数据工程师可以将复杂且相互关联的数据分析...
PIG(国内微服务热度最高的一个社区)
大数据技术基础实验报告-pig的安装配置与应用
Pig-Toolbox_v1.0.7.6 谷歌浏览器插件,CRX可解压,用开发者模式安装
Learn to use Apache Pig to develop lightweight big data applications easily and quickly. This book shows you many optimization techniques and covers every context where Pig is used in big data ...
大数据与云计算教程课件 优质大数据课程 21.Pig模式与函数(共64页).pptx 大数据与云计算教程课件 优质大数据课程 22.Zookeeper(共28页).pptx 大数据与云计算教程课件 优质大数据课程 23.Zookeeper服务(共47页)...
《Pig编程指南》不仅为初学者讲解ApachePig的基础知识,同时也向有一定使用经验的高级用户介绍更加综合全面的Pig重要特性,如PigLatin脚本语言、控制台shell交互命令以及用于对Pig进行拓展的用户自定义函数(UDF)等。...
Hadoop系统的pig工具包,很好用的
pig0.15源码,适合小白学习大数据参考和使用
pig将就的命令
PIGO是一个采集引擎,开始的时候是按照采集各大搜索引擎而设计的。随着需求的增加,现在PIGO不单单能采集搜索引擎,而且能聚合结果,甚至,加载不同的核心,PIGO就变成不同的网站。所以PIGO不是任何类型的网站,但又...
大数据pig实战,大数据pig实战,大数据pig实战大数据pig实战大数据pig实战
apache pig 基础及应用,urldecode row_number web日志分析 根据 用户行为 做出 简易的 相似度 判断。
pig学习 PPT
pig官方的udf教程,介绍了 Writing Java UDFs Writing Python UDFs Writing JavaScript UDFs Writing Ruby UDFs Piggy Bank,一个开源pig的udf包,主要是java
pig-0.15.0.tar.gz pig-0.15.0.tar.gz pig-0.15.0.tar.gz
【技术分享】house of pig一个新的堆利用详解 网络安全 安全开发 解决方案 APT web安全