zoukankan      html  css  js  c++  java
  • Pig 的安装教程

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

  • 相关阅读:
    SQL注入攻击
    新手指引,php什么是常量、变量、数组、类和对象及方法?
    JQuery坑,说说哪些大家都踩过的坑
    利用Jsonp实现跨域请求,spring MVC+JQuery
    【实用】需要收藏备用的JQuery代码片段
    【动画】JQuery实现冒泡排序算法动画演示
    【基础】26个命令玩转linux,菜鸟及面试必备
    【收藏】8段JQuery处理表单的代码片段,很实用
    【实用】Html5实现文件异步上传
    【基础】新手任务,五分钟全面掌握JQuery选择器
  • 原文地址:https://www.cnblogs.com/itgg168/p/2796481.html
Copyright © 2011-2022 走看看