Pig有两种执行模式:local mode 和 MR mode
在local mode ,Pig运行在单个JVM中,访问本地文件系统。本模式只适合用于试用Pig或处理小规模数据集。
执行模式用-x或-exectype选项进行设置。
命令行输入:pig -x local则进入local mode运行并启动Grunt.
MR mode:
在MR模式下,Pig将查询翻译为MR作业,然后在Hadoop集群上执行,如果某一个Pig版本支持多个版本的Hadoop,可以通过PIG_HADOOP_VERSION环境变量来告诉pig他所连接的Hadoop版本,例如:
在/etc/profile中添加如下内容:
重启使配置生效。
设置好Pig到Hadoop的连接后,就可以输入pig -x mapreduce或直接输入pig进入pig的mapreduce mode,MR mode 是pig的默认执行模式。
Pig的物理计划是一系列的MR作业,在local mode,作业在本地JVM中运行,在MR mode,作业在Hadoop集群上运行。
在local mode ,Pig运行在单个JVM中,访问本地文件系统。本模式只适合用于试用Pig或处理小规模数据集。
执行模式用-x或-exectype选项进行设置。
命令行输入:pig -x local则进入local mode运行并启动Grunt.
进入local mode的结果如下图所示:
MR mode:
在MR模式下,Pig将查询翻译为MR作业,然后在Hadoop集群上执行,如果某一个Pig版本支持多个版本的Hadoop,可以通过PIG_HADOOP_VERSION环境变量来告诉pig他所连接的Hadoop版本,例如:
export PIG_HADOOP_VERSION=20
需要将Pig指向集群的namenode和jobtracker,如果Hadoop站点已经定义了fs.default.name和mapred.job.tracker,那么把Hadoop的配置目录添加到Pig的类路径即可:在/etc/profile中添加如下内容:
export PIG_CLASSPATH=/opt/hadoop/conf/
(/opt/hadoop/conf/为我的电脑上Hadoop的安装路径)重启使配置生效。
设置好Pig到Hadoop的连接后,就可以输入pig -x mapreduce或直接输入pig进入pig的mapreduce mode,MR mode 是pig的默认执行模式。
进入MR mode 的结果如下图所示: