Pig 0.12.1安装和使用
生活随笔
收集整理的這篇文章主要介紹了
Pig 0.12.1安装和使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 :安裝
解壓,配置環境變量,驗證 pig安裝是否成功
<pre name="code" class="plain">[jifeng@jifeng02 ~]$ tar zxf pig-0.12.0.tar.gz [jifeng@jifeng02 ~]$ vi .bash_profile # .bash_profile# Get the aliases and functions. ~/.bashrc fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport 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.4export HIVE_HOME=$HOME/hadoop/hive-0.12.0-bin export HBASE_HOME=$HOME/hbase-0.94.21 export PIG_HOME=$HOME/pig-0.12.1export PATH=$PATH:$ANT_HOME/bin:$HIVE_HOME/bin::$HBASE_HOME/bin:$PIG_HOME/bin ~ ~ ~ ".bash_profile" 23L, 591C 已寫入 [jifeng@jifeng02 ~]$ source .bash_profile[jifeng@jifeng02 ~]$ pig -helpwhich: no hadoop in (/home/jifeng/jdk1.7.0_45/bin:/home/jifeng/jdk1.7.0_45/bin:/home/jifeng/jdk1.7.0_45/bin:/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jifeng/bin:/home/jifeng/apache-ant-1.9.4/bin:/home/jifeng/hadoop/hive-0.12.0-bin/bin::/home/jifeng/hbase-0.94.21/bin:/home/jifeng/bin:/home/jifeng/apache-ant-1.9.4/bin:/home/jifeng/hadoop/hive-0.12.0-bin/bin::/home/jifeng/hbase-0.94.21/bin:/home/jifeng/pig-0.12.1/bin:/home/jifeng/bin:/home/jifeng/apache-ant-1.9.4/bin:/home/jifeng/hadoop/hive-0.12.0-bin/bin::/home/jifeng/hbase-0.94.21/bin:/home/jifeng/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中,可訪問本地文件。該模式適用于處理小規模數據或學習之用。
運行以下命名設置為本地模式: [jifeng@jifeng02 ~]$ pig -x local which: no hadoop in (/home/jifeng/jdk1.7.0_45/bin:/home/jifeng/jdk1.7.0_45/bin:/home/jifeng/jdk1.7.0_45/bin:/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jifeng/bin:/home/jifeng/apache-ant-1.9.4/bin:/home/jifeng/hadoop/hive-0.12.0-bin/bin::/home/jifeng/hbase-0.94.21/bin:/home/jifeng/bin:/home/jifeng/apache-ant-1.9.4/bin:/home/jifeng/hadoop/hive-0.12.0-bin/bin::/home/jifeng/hbase-0.94.21/bin:/home/jifeng/pig-0.12.1/bin:/home/jifeng/bin:/home/jifeng/apache-ant-1.9.4/bin:/home/jifeng/hadoop/hive-0.12.0-bin/bin::/home/jifeng/hbase-0.94.21/bin:/home/jifeng/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/jifeng/pig_1439737029715.log 2015-08-16 22:57:09,735 [main] INFO org.apache.pig.impl.util.Utils - Default bootup file /home/jifeng/.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變量:
[jifeng@jifeng02 ~]$ vi .bash_profile# .bash_profile# Get the aliases and functions if [ -f ~/.bashrc ]; then. ~/.bashrc fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport 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.4export 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 已寫入 [jifeng@jifeng02 ~]$ source .bash_profile [jifeng@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/jifeng/pig_1439737584121.log 2015-08-16 23:06:24,142 [main] INFO org.apache.pig.impl.util.Utils - Default bootup file /home/jifeng/.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://jifeng01:9000 2015-08-16 23:06:24,463 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to map-reduce job tracker at: jifeng01: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 0.12.1安装和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HBase 0.94.21 zookee
- 下一篇: Hive 0.12.0安装配置