歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Pig安裝與配置教程

Pig安裝與配置教程

日期:2017/2/28 14:50:16   编辑:Linux教程

翻譯整理自Hadoop-The Definitive Guide。

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、到這裡下載一個穩定的發行版(我下載的是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,那還等什麼,趕緊去試試,玩玩~

Copyright © Linux教程網 All Rights Reserved