Pig安装与配置教程

Pig是yahoo捐献给apache的一个项目 ,它是SQL-like语言,是在 MapReduce上构建的一种高级查询语言,把一些运算编译 进MapReduce模型的Map和Reduce 中,并且用户可以定义自己的功能。这是Yahoo开发的又一个克隆Google的项目:Sawzall

 

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 ://localhost/                      conf/core-site.xml

map red.job .tracker=localhost:8021                  conf/mapred-site.xml

 

搞定后,在终端执行下面的命令:

% pig

你就会看到下面的信息:

2009-03-29 21:22:20,489 [main] INFO  org.apache.pig.backend.hadoop.executionengine.

HExecutionEngine – Connecting to hadoop file system at: hdfs://localhost/

2009-03-29 21:22:20,760 [main] INFO  org.apache.pig.backend.hadoop.executionengine.

HExecutionEngine – Connecting to map-reduce job tracker at: localhost:8021

grunt>

如你所见,Pig 报告已经连上了Hadoop的Namenode和Jobtracker,是不是也非常的简单?

到此,Pig的安装和配置讲解完毕,是不是很Easy,那还等 什么,赶紧去试试,玩玩~

你可能感兴趣的:(apache,mapreduce,jvm,hadoop,Yahoo)