日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Pig常用语法大全

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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
使用生成的輸入子集顯示邏輯計劃的試運行結果
  • UDF操作
REGISTER
Pig運行時環境中注冊一個JAR文件
DEFINE
UDF、流式腳本或命令規范新建別名
  • Pig Latin命令操作
kill
中止某個MapReduce任務
exec
在一個新的Grunt shell程序中以批處理模式運行一個腳本
run
在當前Grunt外殼程序中運行程序
quit
退出解釋器
set
設置Pig選項
  • Pig Latin表達式
類型
表達式
描述?
示例
字段
$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:用于在單個元組中分割字符串(其中包含一組字),并返回包含拆分操作輸出的包
過濾函數:
  • IsEmpty:檢查包或映射是否為空
加載/存儲函數:
  • PigStorage:將數據加載并存儲為結構化文本文件
  • ?BinStorage:使用機器可讀格式將數據加載并存儲到Pig中
  • TextLoader:用于以UTF-8格式加載非結構化數據

?


?




總結

以上是生活随笔為你收集整理的Pig常用语法大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。