簡要介紹,常用命令,簡單示例,
簡要介紹
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中
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)