Hive的函數(shù)

1.發(fā)現(xiàn)和描述函數(shù):
使用show functions顯示Hive中自帶的函數(shù):

image.png
image.png

還可以使用describe function命令展示相應函數(shù)簡短的介紹:

image.png

2.調用函數(shù):
調用函數(shù)只需要在查詢中通過調用函數(shù)鳴,并傳入需要的參數(shù)即可。

hive > select count(*) from request_log;

在hue中進行查詢:

image.png

3.標準函數(shù):
標準函數(shù)一般表示以一行數(shù)據(jù)中的一列或多列數(shù)據(jù)作為參數(shù)然后返回結果是一個值的函數(shù),如:concat(),cast等。

4.聚合函數(shù):
與標準函數(shù)不同的聚合函數(shù)接受從零行到多行的零個到多個列,然后返回單一值。這樣的函數(shù)包括:sum(),avg()等。

5.表生成函數(shù):
Hive還支持的一類函數(shù)就是表生成函數(shù)。和其他函數(shù)類別一樣,所有的表生成函數(shù),包括自定義的和內置的,都被稱為用戶自定義表生成函數(shù)(UDTF)
表生成函數(shù)接受零個或多個輸入,然后產生多列或多行輸出。例如array函數(shù)就是將一列輸入轉換成一個數(shù)組輸出的。如下:

hive > select array(1,2,3) from dual;

在Hue中執(zhí)行sql:

image.png

上面演示的sql事先需要創(chuàng)建表dual,并導入一條記錄,hive并沒有像oracle數(shù)據(jù)庫那樣的dual表。
hive另外一個常用的表生成函數(shù)是:explode()函數(shù),該函數(shù)以array類型數(shù)據(jù)作為輸入,然后對數(shù)組中的數(shù)據(jù)進行迭代,返回多行結果,一行一個數(shù)組元素值:

hive > select explode(array(1,2,3)) as element from dual;

在Hue中執(zhí)行sql:

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容