北在北方

太白枝头看,花开不计年,杯中浮日月,楼外是青天。

导航

Pig的安装

Posted on 2013-04-19 22:16  CN.programmer.Luxh  阅读(513)  评论(0编辑  收藏  举报

  Pig相当于Hadoop的客户端软件,它可以连接到Hadoop,通过Pig Lating这种类似SQL的面向数据流的语言对数据进行处理。

  用Pig Lating编写的程序,在Pig中执行。Pig把Pig Lating编写的程序编译成MapReduce作业,上传到集群中执行。

  Pig可以看作Pig Lating到MapReduce的映射器。

  1、下载Pig,我这里下载的是pig-0.9.2.tar.gz,放到/home/coder/目录下。

  2、解压Pig。

[coder@h1 ~]$ tar -zxvf pig-0.9.2.tar.gz

  3、编辑/etc/profile,在文件最后面加上如下内容

PIG_INSTALL=/home/coder/pig-0.9.2
PATH=$PIG_INSTALL/bin:$JAVA_HOME/bin:$PATH

  再执行下面的命令,使配置生效

source /etc/profile

  4、进入Pig的本地模式:pig -x local

[coder@h1 ~]$ pig -x local
which: no hadoop in (/home/coder/pig-0.9.2/bin:/usr/java/jdk1.6.0_37/bin:/usr/java/jdk1.6.0_37/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
2013-04-19 21:38:09,577 [main] INFO  org.apache.pig.Main - Logging error messages to: /home/coder/pig_1366378689555.log
2013-04-19 21:38:10,260 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: file:///
grunt> 

  本地模式,所有文件和执行过程都在本地执行,一般用于测试程序。

  5、配置Pig的MapReduce模式

    1)配置/etc/profile,在文件最后面添加,内容如下:

JAVA_HOME=/usr/java/jdk1.6.0_37
PIG_INSTALL=/home/coder/pig-0.9.2
HADOOP_INSTALL=/home/coder/hadoop-0.20.2
PIG_CLASSPATH=$HADOOP_INSTALL/conf
PATH=$HADOOP_INSTALL/bin:$PIG_INSTALL/bin:$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PIG_CLASSPATH
export PATH
export CLASSPATH

  PIG_CLASSPATH指向hadoop的安装路径下的conf目录,如果Pig和Hadoop不在同一台机器上,则需要从安装有Hadoop的机器上把hadoop安装路径下的conf目录复制到安装Pig的机器上,然后然PIG_CLASSPATH指向conf目录。

    2)执行 source /etc/profile命令,使得配置生效
  

    3)如果Pig和Hadoop不在同一台机器上,则在Pig所在的机器上还要配置/etc/hosts文件,跟其他hadoop机器上的hosts配置一致

    4)进入Pig的MapReduce模式:pig

[coder@h1 ~]$ pig
2013-04-19 22:14:30,539 [main] INFO  org.apache.pig.Main - Logging error messages to: /home/coder/pig_1366380870538.log
2013-04-19 22:14:30,790 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://192.168.0.129:9000
2013-04-19 22:14:30,899 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to map-reduce job tracker at: 192.168.0.129:9001
grunt>