生活随笔
收集整理的這篇文章主要介紹了
                                
Pig常用语法大全
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            Pig查詢語言是基于Pig Latin,程序由一系列語句構成,操作和命令不區分大小寫,別名和函數名區分大小寫。下面,將介紹Pig Latin的常用語法。
1. 常用操作
| LOAD? ? ? ? ? ? ? 
 | 導入外部文件中的數據,存入關系 
 | 
| STORE 
 | 將一個關系存儲到文件系統中 
 | 
| DUMP 
 | 將關系打印到控制臺 | 
| FILTER 
 | 按條件篩選關系中的行 
 | 
| DISTINCT? 
 | 去除關系中的重復行 | 
| FOREACH...GENERATE? 
 | 對于集合的每個元素,生成或刪除字段 
 | 
| STREAM 
 | 使用外部程序對關系進行變換(例如,將Python程序嵌入到Pig中使用) 
 | 
| SAMPLE 
 | 從關系中隨機取樣 | 
| JOIN 
 | 連接兩個或多個關系 
 | 
| COGROUP 
 | 在兩個或多個關系中分組 
 | 
| GROUP 
 | 在一個關系中對數據分組 
 | 
| CROSS? 
 | 獲取兩個或更多關系的乘積(叉乘) | 
| ORDER 
 | 根據一個或多個字段對某個關系進行排序 
 | 
| LIMIT 
 | 限制關系的元組個數 | 
| UNION 
 | 合并兩個或多個關系 
 | 
| SPLIT 
 | 把某個關系切分成兩個或多個關系 | 
| DESCRIBE 
 | 打印關系的模式 
 | 
| EXPLAIN 
 | 打印邏輯和物理計劃 
 | 
| ILLUSTRATE 
 | 使用生成的輸入子集顯示邏輯計劃的試運行結果 | 
| REGISTER 
 | 在Pig運行時環境中注冊一個JAR文件 
 | 
| DEFINE 
 | 為UDF、流式腳本或命令規范新建別名 | 
| kill 
 | 中止某個MapReduce任務 
 | 
| exec 
 | 在一個新的Grunt shell程序中以批處理模式運行一個腳本 
 | 
| run 
 | 在當前Grunt外殼程序中運行程序 
 | 
| quit 
 | 退出解釋器 
 | 
| set 
 | 設置Pig選項 | 
| 類型 
 | 表達式 
 | 描述? 
 | 示例 
 | 
| 字段 
 | $n? 
 | 第n個字段 
 | $0 
 | 
| 字段 
 | d | 字段名d 
 | year 
 | 
| 投影 
 | c.$n, c.f 
 | c.f?在關系、包或元組中的字段 
 | user.$0, user.year 
 | 
| Map查找 
 | m#k 
 | 在映射m中鍵k對應的值 
 | items'Coat' 
 | 
| 類型轉換 
 | (t)f? 
 | 將字段t轉換成f類型 
 | (int)age 
 | 
| 函數型平面化 
 | fn(f1, f2,?…) 
 | 在字段上應用函數 
 | fn isGood(quality) 
 | 
| 函數型平面化 
 | FLATTEN(f) 
 | 從包和元組中去除嵌套? 
 | ?flatten(group) | 
2. Pig Latin數據類型
數據類型:
- int (32位有符號整數)
- long(64位有符號整數)
 
- float(32位浮點數)
 
- double(64位浮點數)
 
- chararray(UTF16格式的字符數組)
 
- bytearray(字節數組)
 
- tuple(元組) :?tuple: (1, 'world')? ? ? ? ? ? ? ?//任何類型的字段序列
 
- bag(包)? :??bag: {(1, 'world'), (2)}? ? ? ?//元組的無序多重集合(允許重復元組)
 
- ?map(鍵值對) :?map: ['a'?'world']? ? ? ? ? //一組鍵值對,鍵必須是字符數組
3. 常用函數
計算函數:? ?- AVG?:?所有值平均值
- COUNT : 獲取包中的元素數量
 
- CONCAT:將兩列合并為一列
- COUNT_STAR:獲取包中的元素數量。在計數元素時,COUNT_STAR()?函數包含NULL值
- DIFF:比較元組中的兩個包
- MAX:計算單列包中的列(數值或字符)的最大值
- MIN:計算單列包中的列(數值或字符)的最小值
- SIZE:基于任何Pig數據類型計算元素的數量
- SUM:獲取單列包中列的總數值
- TOKENIZE:用于在單個元組中分割字符串(其中包含一組字),并返回包含拆分操作輸出的包
過濾函數:
加載/存儲函數:
- PigStorage:將數據加載并存儲為結構化文本文件
- ?BinStorage:使用機器可讀格式將數據加載并存儲到Pig中
- TextLoader:用于以UTF-8格式加載非結構化數據
?
?
                            總結
                            
                                以上是生活随笔為你收集整理的Pig常用语法大全的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。