首頁 >常見問題 >hive內建函數是什麼

hive內建函數是什麼

coldplay.xixi
coldplay.xixi原創
2021-02-26 12:02:014235瀏覽

hive內建函數:1、使用者自訂函數對資料進行處理;2、用來解決輸入一行輸出多行【(On-to-many maping)】的需求;3.使用者自訂聚合函數,操作多個資料行,產生一個資料行。

hive內建函數是什麼

本文操作環境:Windows7系統,Dell G3電腦。

hive內建函數:

定義:

UDF(User-Defined-Function),使用者自訂函數對數據進行處理。

UDTF(User-Defined Table-Generating Functions) 用來解決 輸入一行輸出多行(On-to-many maping) 的需求。

UDAF(User Defined Aggregation Function)使用者自訂聚合函數,操作多個資料行,產生一個資料行。

用法:

  1、UDF函數可以直接套用於select語句,對查詢結構做格式化處理後,再輸出內容。

  2、寫UDF函數的時候需要注意一下幾點:

a)自訂UDF需要繼承org.apache.hadoop.hive.ql.UDF

b)需要實作evaluate函。

c)evaluate函數支援重載。

hive的本地模式:

  大多數的Hadoop job是需要hadoop提供的完整的可擴展性來處理大數據的。不過,有時hive的輸入資料量是非常小的。在這種情況下,為查詢出發執行任務的時間消耗可能會比實際job的執行時間要多的多。對於大多數這種情況,hive可以透過本機模式在單一機器上處理所有的任務。對於小資料集,執行時間會明顯縮短。

  如此一來,對資料量比較小的操作,就可以在本地執行,這樣要比提交任務到叢集執行效率要快很多。

  配置如下參數,可以開啟Hive的本地模式:

hive> set hive.exec.mode.local.auto=true;(默认为false)

hive內建函數是什麼

當一個job滿足如下條件才能真正使用本地模式:

    1.job的輸入資料大小必須小於參數:hive.exec.mode.local.auto.inputbytes.max(預設128MB)

#    2.job的map數必定小於參數: .local.auto.tasks.max(預設4)

    3.job的reduce數必須為0或1

相關免費學習推薦:php程式設計(影片)

#

以上是hive內建函數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多