• 安装PIG


    下载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> 

  • 相关阅读:
    liunx 用户切换 su sudo
    tomcat 虚拟目录
    如何用vue封装一个防用户删除的平铺页面的水印组件
    webpack入门学习手记(一)
    理解跨域及常用解决方案
    封装一个优雅的element ui表格组件
    使用Koa.js离不开这十个中间件
    深入理解let和var的区别
    编辑器IDE之VSCode
    WTF!! Vue数组splice方法无法正常工作
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10967192.html
  • Copyright © 2020-2023  润新知