安装PIG

来源:互联网 发布:淘宝网男装毛衫 编辑:程序博客网 时间:2024/04/30 04:54

下载Pig 可以运行在Hadoop 0.20.*

http://mirror.bit.edu.cn/apache/pig/pig-0.11.1/pig-0.11.1.tar.gz

也可以根据你的Hadoop版本选择对应的版本下载:http://hadoop.apache.org/pig/releases.html

我当前的Hadoop 版本是 hadoop-0.20.2 

tar -xvf pig-0.11.1.tar.gz

为了方便,可以把Pig的程序目录放到命令行路径里,比如:

% export PIG_INSTALL=/usr/local/hadoop/pig-0.11.1

% export PATH=$PATH:$PIG_INSTALL/bin

Pig有两种模式:

一种是Local mode,也就是本地模式,这种模式下Pig运行在一个JVM里,访问的是本地的文件系统,只适合于小规模数据集,一般是用来体验Pig。而且,它并没有用到Hadoop的Local runner,Pig把查询转换为物理的Plan,然后自己去执行。

在终端下输入

% pig -x local

就可以进入Local模式了。

还有一种就是Hadoop模式了,这种模式下,Pig才真正的把查询转换为相应的MapReduce Jobs,并提交到Hadoop集群去运行,集群可以是真实的分布式也可以是伪分布式。要想Pig能认识Hadoop,你要告诉它Hadoop的版本以及一些关键daemon的信息(也就是Namenode和Jobtracker的Address和Port)。比如,下面这个可以允许Pig连接到任何Hadoop0.20.*上:

% export PIG_HADOOP_VERSION=20

接下来,你还要指明集群的Namenode和Jobtracker的所在。有两种方法,一种就是把你Hadoop的Conf地址添加到Pig的Classpath上:

% export PIG_CLASSPATH=$HADOOP_INSTALL/conf/

还有一种就是在Pig目录的Conf文件夹(可能需要自己创建)里创建一个pig.properties文件,然后在里面添加集群的Namenode和Jobtracker的信息:

fs.default.name=hdfs://idc01-vm-test-124/

#根据您的Hadoop配置进行设置

mapred.job.tracker=idc01-vm-test-124:9000

接下来运行PIG

[root@idc01-vm-test-124 conf]# pig

2014-04-19 20:13:15,775 [main] INFO  org.apache.pig.Main - Apache Pig version 0.10.0-cdh4.1.2 (rexported) compiled Nov 01 2012, 18:38:58

2014-04-19 20:13:15,776 [main] INFO  org.apache.pig.Main - Logging error messages to: /usr/local/hadoop/pig-0.11.1/conf/pig_1397909595772.log

2014-04-19 20:13:16,009 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: file:///

2014-04-19 20:13:16,014 [main] WARN  org.apache.hadoop.conf.Configuration - fs.default.name is deprecated. Instead, use fs.defaultFS

2014-04-19 20:13:16,227 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to map-reduce job tracker at: localhost:9016

2014-04-19 20:13:16,229 [main] WARN  org.apache.hadoop.conf.Configuration - fs.default.name is deprecated. Instead, use fs.defaultFS

grunt> 

0 0