簡要介紹
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)