Apache Pig

Apache Pig

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

簡要介紹

Apache Pig 是apache平台下的一個免費開源項目,Pig為大型數據集的處理提供了更高層次的抽象,很多時候數據的處理需要多個MapReduce過程才能實現,使得數據處理過程與該模式匹配可能很困難。有了Pig就能夠使用更豐富的數據結構。

Pig LatinPig Latin 是一個相對簡單的語言,一條語句 就是一個操作,與資料庫的表類似,可以在關係資料庫中找到它(其中,元組代表行,並且每個元組都由欄位組成)。

Pig 擁有大量的數據類型,不僅支持包、元組和映射等高級概念,還支持簡單的數據類型,如 int、long、float、double、chararray 和 bytearray。並且,還有一套完整的比較運算符,包括使用正則表達式的豐富匹配模式。

常用命令

FILTER 過濾結果集,添加條件
FOREACH 對元組進行疊代輸出
GROUP 將數據分組,類似SQL的分組函式。
JOIN 兩個或兩個以上的關係(內連線或外部連線)多個檔案之間的關聯關係。
LOAD 從檔案系統載入數據。
ORDER 根據一個或多個欄位對關係進行排序,支持升序asc和降序desc。
SPLIT 將一個關係劃分為兩個或兩個以上的關係。
STORE 把數據存儲到HDFS中

簡單示例

首先準備好一個文本檔案 test.txt 檔案

內容如下:

1001:zhangsan

1002:lisi

1003:wangwu

把檔案添加到hdfs中

$hadoop fs -put text.txt /user/hadoop/input/

/*本地模式運行pig*/

$ pig -x local

/* 載入數據 */

grunt> A = LOAD 'hdfs://localhost:9000/user/hadoop/input/test.txt' using PigStorage(':') as (id:int,name:chararray);

/*顯示載入的數據*/

dump A

/*顯示結果*/

(1001,zhangsan)

(1002,lisi)

(1003,wangwu)

相關詞條

相關搜尋

熱門詞條

聯絡我們