共计 5325 个字符,预计需要花费 14 分钟才能阅读完成。
Pig 0.12.1 安装和使用
1 : 安装
解压,配置环境变量,验证 pig 安装是否成功
[linuxidc@jifeng02 ~]$ tar zxf pig-0.12.0.tar.gz
[linuxidc@jifeng02 ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export JAVA_HOME=$HOME/jdk1.7.0_45
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export Hadoop_HOME=$HOME/hadoop/hadoop-1.2.1
export ANT_HOME=$HOME/apache-ant-1.9.4
export HIVE_HOME=$HOME/hadoop/hive-0.12.0-bin
export HBASE_HOME=$HOME/hbase-0.94.21
export PIG_HOME=$HOME/pig-0.12.1
export PATH=$PATH:$ANT_HOME/bin:$HIVE_HOME/bin::$HBASE_HOME/bin:$PIG_HOME/bin
~
~
~
“.bash_profile” 23L, 591C 已写入
[linuxidc@jifeng02 ~]$ source .bash_profile
[linuxidc@jifeng02 ~]$ pig -helpwhich: no hadoop in (/home/linuxidc/jdk1.7.0_45/bin:/home/linuxidc/jdk1.7.0_45/bin:/home/linuxidc/jdk1.7.0_45/bin:/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/linuxidc/bin:/home/linuxidc/apache-ant-1.9.4/bin:/home/linuxidc/hadoop/hive-0.12.0-bin/bin::/home/linuxidc/hbase-0.94.21/bin:/home/linuxidc/bin:/home/linuxidc/apache-ant-1.9.4/bin:/home/linuxidc/hadoop/hive-0.12.0-bin/bin::/home/linuxidc/hbase-0.94.21/bin:/home/linuxidc/pig-0.12.1/bin:/home/linuxidc/bin:/home/linuxidc/apache-ant-1.9.4/bin:/home/linuxidc/hadoop/hive-0.12.0-bin/bin::/home/linuxidc/hbase-0.94.21/bin:/home/linuxidc/pig-0.12.0/bin)Warning: $HADOOP_HOME is deprecated.Apache Pig version 0.12.0 (r1529718) compiled Oct 07 2013, 12:20:14
2.Pig 执行模式
Pig 有两种执行模式,分别为:
1)本地模式(Local)
本地模式下,Pig 运行在单一的 JVM 中,可访问本地文件。该模式适用于处理小规模数据或学习之用。
运行以下命名设置为本地模式:
[linuxidc@jifeng02 ~]$ pig -x local
which: no hadoop in (/home/linuxidc/jdk1.7.0_45/bin:/home/linuxidc/jdk1.7.0_45/bin:/home/linuxidc/jdk1.7.0_45/bin:/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/linuxidc/bin:/home/linuxidc/apache-ant-1.9.4/bin:/home/linuxidc/hadoop/hive-0.12.0-bin/bin::/home/linuxidc/hbase-0.94.21/bin:/home/linuxidc/bin:/home/linuxidc/apache-ant-1.9.4/bin:/home/linuxidc/hadoop/hive-0.12.0-bin/bin::/home/linuxidc/hbase-0.94.21/bin:/home/linuxidc/pig-0.12.1/bin:/home/linuxidc/bin:/home/linuxidc/apache-ant-1.9.4/bin:/home/linuxidc/hadoop/hive-0.12.0-bin/bin::/home/linuxidc/hbase-0.94.21/bin:/home/linuxidc/pig-0.12.0/bin)
Warning: $HADOOP_HOME is deprecated.
2015-08-16 22:57:09,716 [main] INFO org.apache.pig.Main – Apache Pig version 0.12.0 (r1529718) compiled Oct 07 2013, 12:20:14
2015-08-16 22:57:09,717 [main] INFO org.apache.pig.Main – Logging error messages to: /home/linuxidc/pig_1439737029715.log
2015-08-16 22:57:09,735 [main] INFO org.apache.pig.impl.util.Utils – Default bootup file /home/linuxidc/.pigbootup not found
2015-08-16 22:57:09,828 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine – Connecting to hadoop file system at: file:///
grunt>
2)MapReduce 模式
在 MapReduce 模式下,Pig 将查询转换为 MapReduce 作业提交给 Hadoop(可以说群集,也可以说伪分布式)。
应该检查当前 Pig 版本是否支持你当前所用的 Hadoop 版本。某一版本的 Pig 仅支持特定版本的 Hadoop,你可以通过访问 Pig 官网获取版本支持信息。
Pig 会用到 HADOOP_HOME 环境变量。如果该变量没有设置,Pig 也可以利用自带的 Hadoop 库,但是这样就无法保证其自带肯定库和你实际使用的 HADOOP 版本是否兼容,所以建议显式设置 HADOOP_HOME 变量。且还需要设置 PIG_CLASSPATH 变量:
[linuxidc@jifeng02 ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [-f ~/.bashrc]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export JAVA_HOME=$HOME/jdk1.7.0_45
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=$HOME/hadoop/hadoop-1.2.1
export ANT_HOME=$HOME/apache-ant-1.9.4
export HIVE_HOME=$HOME/hadoop/hive-0.12.0-bin
export HBASE_HOME=$HOME/hbase-0.94.21
export PIG_HOME=$HOME/pig-0.12.0
export PIG_CLASSPATH=$HOME/hadoop/hadoop-1.2.1/conf/
export PATH=$PATH:$ANT_HOME/bin:$HIVE_HOME/bin::$HBASE_HOME/bin:$PIG_HOME/bin:$HADOOP_HOME/bin
~
~
~
“.bash_profile” 24L, 661C 已写入
[linuxidc@jifeng02 ~]$ source .bash_profile
[linuxidc@jifeng02 ~]$ pig
Warning: $HADOOP_HOME is deprecated.
2015-08-16 23:06:24,122 [main] INFO org.apache.pig.Main – Apache Pig version 0.12.0 (r1529718) compiled Oct 07 2013, 12:20:14
2015-08-16 23:06:24,123 [main] INFO org.apache.pig.Main – Logging error messages to: /home/linuxidc/pig_1439737584121.log
2015-08-16 23:06:24,142 [main] INFO org.apache.pig.impl.util.Utils – Default bootup file /home/linuxidc/.pigbootup not found
2015-08-16 23:06:24,281 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine – Connecting to hadoop file system at: hdfs://linuxidc01:9000
2015-08-16 23:06:24,463 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine – Connecting to map-reduce job tracker at: linuxidc01:9001
grunt>
3. 运行 Pig 程序
Pig 程序执行方式有三种:
1)脚本方式
直接运行包含 Pig 脚本的文件,比如以下命令将运行本地 scripts.pig 文件中的所有命令:
pig scripts.pig
2)Grunt 方式
Grunt 提供了交互式运行环境,可以在命令行编辑执行命令。
Grund 同时支持命令的历史记录,通过上下方向键访问。
Grund 支持命令的自动补全功能。比如当你输入 a = foreach b g 时,按下 Tab 键,则命令行自动变成 a = foreach b generate。你甚至可以自定义命令自动补全功能的详细方式。具体请参阅相关文档。
3)嵌入式方式
可以在 java 中运行 Pig 程序,类似于使用 JDBC 运行 SQL 程序。
Pig Latin 编辑器
PigPen 是一个 Ecliipse 插件,它提供了在 Eclipse 中开发运行 Pig 程序的常用功能,比如脚本编辑、运行等。下载地址:http://wiki.apache.org/pig/PigPen
其他一些编辑器也提供了编辑 Pig 脚本的功能,比如 vi 等。
Pig 的安装与测试 http://www.linuxidc.com/Linux/2014-07/104039.htm
Pig 安装与配置教程 http://www.linuxidc.com/Linux/2013-04/82785.htm
Pig 安装部署及 MapReduce 模式下测试 http://www.linuxidc.com/Linux/2013-04/82786.htm
Pig 安装及本地模式测试, 体验 http://www.linuxidc.com/Linux/2013-04/82783.htm
Pig 的安装配置与基本使用 http://www.linuxidc.com/Linux/2013-02/79928.htm
Hadoop Pig 进阶语法 http://www.linuxidc.com/Linux/2013-02/79462.htm