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)當一個job滿足如下條件才能真正使用本地模式:
job的輸入資料大小必須小於參數:hive.exec.mode.local.auto.inputbytes.max(預設128MB)
job的map數必須小於參數: hive.exec.mode.local.auto.tasks.max(預設4)job的reduce數必須為0或1以上是hive自備的函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!