[转]Pig安装与配置教程

标签: | 发表时间:2013-04-10 17:47 | 作者:zeo112140
出处:http://blog.csdn.net/zeo112140

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

Pig是一个客户端应用程序,就算你要在Hadoop集群上运行Pig,也不需要在集群上装额外的东西。Pig的安装是灰常的简单的:

1、安装JAVA6(在Windows的话要装Cygwin),设置好JAVA_HOME。

% export JAVA_HOME=/home/tom/jdk1.6

2、到 http://hadoop.apache.org/pig/releases.html下载一个稳定的发行版(目前是0.5.0,可以在Hadoop-0.20.*上运行),解压到你的工作空间:

% tar xzf pig-x.y.z.tar.gz

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

% export PIG_INSTALL=/home/tom/pig-x.y.z

% export PATH=$PATH:$PIG_INSTALL/bin

注销或重启,你就可以用pig -help来查看使用帮助了,安装够简单吧? :)

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/

mapred.job.tracker=localhost:8021

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

% 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,那还等什么,赶紧去试试,玩玩~

作者:zeo112140 发表于2013-4-10 17:47:26 原文链接
阅读:7 评论:0 查看评论

相关 [pig] 推荐:

使用 Apache Pig 处理数据

- - ITeye论坛最新讨论
Hadoop 的普及和其生态系统的不断壮大并不令人感到意外. Hadoop 不断进步的一个特殊领域是 Hadoop 应用程序的编写. 虽然编写 Map 和 Reduce 应用程序并不十分复杂,但这些编程确实需要一些软件开发经验. Apache Pig 改变了这种状况,它在 MapReduce 的基础上创建了更简单的过程语言抽象,为 Hadoop 应用程序提供了一种更加接近结构化查询语言 (SQL) 的接口.

[转]Pig安装与配置教程

- - 小鸥的博客
Pig是yahoo捐献给apache的一个项目,它是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能. 这是Yahoo开发的又一个克隆Google的项目:Sawzall. Pig是一个客户端应用程序,就算你要在Hadoop集群上运行Pig,也不需要在集群上装额外的东西.

Pig安装及简单实例

- - CSDN博客云计算推荐文章
前面讲到了如何用MapReduce进行数据分析. 当业务比较复杂的时候,使用MapReduce将会是一个很复杂的事情,比如你需要对数据进行很多预处理或转换,以便能够适应MapReduce的处理模式. 另一方面,编写MapReduce程序,发布及运行作业都将是一个比较耗时的事情. Pig的出现很好的弥补了这一不足.

PIG JOIN 的replicated后标写入内存用法

- - 数据库 - ITeye博客
'''一句话总结:PIG 在2个表JOIN的时候,如果使用Using 'replicated' 会将后面的表分段读到内存中,从而加快JOIN的效率. 但是如果load 到内存的数据超过JVM的限制就会报错==>.     年前写了一个用户session处理的PIG脚本,各种测试通过,数据OK,然后就Happy的回家过年了.

使用Pig对手机上网日志进行分析

- - CSDN博客云计算推荐文章
在成功安装Pig的基础上,本文将使用Pig对手机上网日志进行分析,具体步骤如下:. 手机上网日志文件phone_log.txt,文件内容 及 字段说明部分截图如下. 显示每个手机号的上网流量情况. 1、将Linux本地文件phone_log.txt上传到HDFS. 执行命令dump C; 查看经过以上步骤处理后的结果.