1. 程式人生 > >Hadoop第八講

Hadoop第八講

Pig Latin

子專案致力於降低hadoop的複雜性。Pig可以看做是hadoop的客戶端軟體,可以連線到hadoop叢集進行資料分析工作。Pig方便不熟悉Java的使用者,使用一種較為簡便的類似SQL的面向資料流的語言pig latin進行資料處理。Pig latin可以進行排序,過濾 ,求和,分組,關聯等操作,還可以自定義函式,這是一種面向資料分析處理的輕量級指令碼語言.

Pig可以看做是pig latin到map-reduce的對映器。

                   

語言用起來不是很好理解,在社群中使用的不是太廣泛,一般使用Hive的較多。

安裝:

  1. 下載並解壓pig安裝
  2. 在.bashrc中配置環境變數,注意JAVA_HOME=安裝目錄的上級目錄
  3. 進入grunt shell驗證

Pig工作模式

1. 本地模式:所有檔案和執行過程都在本地,一般用於測試

2. Mapreduce模式:實際工作模式

配置pig的map-reduce模式

  1. 設定PATH,增加PIG_CLASSPATH環境變數
  2. 修改hosts文,啟動pig
  3. 啟動pig
Pig的執行方式:指令碼(字尾是pig)、grunt、嵌入式(嵌入到java中,使用pig提供的jar即可) gruntshell命令可以通過help列舉出來。


Pig資料模型 Bag:表,Tuple:列,Field:屬性, Pig不要求同一個bag裡面的各個tuple有相同資料或相同型別的field。 Pig Latin常用語句: Load:裝入資料,FOREACH:逐行掃描進行某種處理形成另一張表。FILTER:過濾行 DUMP:把結果顯示到螢幕 STORE:把結果儲存到檔案。 例子1:從氣象資料集中計算一年中的最高記錄