Pig是一個基于Hadoop的大規模數據分析平臺,它提供的SQL-LIKE語言叫Pig Latin,該語言的編譯器會把類SQL的數據分析請求轉換為一系列經過優化處理的MapReduce運算。Pig為復雜的海量數據并行計算提供了一個簡單的操作和編程接口。

Pig的實現有5個主要的部分構成:
如圖所示:

1.Pig自己實現的一套框架對輸入、輸出的人機交互部分的實現,就是Pig Latin 。

2.Zebra是Pig與HDFS/Hadoop的中間層、Zebra是MapReduce作業編寫的客戶端,Zerbra用結構化的語言實現了對hadoop物理存儲元數據的管理也是對Hadoop的數據抽象層,在Zebra中有2個核心的類 TableStore(寫)/TableLoad(讀)對Hadoop上的數據進行操作。

3.Pig中的Streaming主要分為4個組件: 1. Pig Latin 2. 邏輯層(Logical Layer) 3. 物理層(Physical Layer) 4. Streaming具體實現(Implementation),Streaming會創建一個Map/Reduce作業,并把它發送給合適的集群,同時監視這個作業的在集群環境中的整個執行過程。 

4.MapReduce在每臺機器上進行分布式計算的框架(算法)。

5.HDFS最終存儲數據的部分。

<DIV class=date>收錄時間:2011-05-31 14:04:04</DIV>

 本文由用戶 碼頭工人自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!