Impala中新增udf總結

2021-09-24 10:50:31 字數 715 閱讀 6143

在hive中新增udf較為簡單,沒遇到什麼麻煩,但是在impala中新增udf有時候會報錯,找不到類,class not found等。

一、class not found解決辦法:

將所缺類的jar包放到impala的lib目錄下,如果是cloudera管理的,通常為:

/opt/cloudera/parcels/cdh/lib/impala/lib/
然後還需要重啟impala新放入的jar包才會生效。

二、重啟impala後,udf會失效,function消失,是因為建立udf的時候使用的是建立臨時udf的方法,所以重啟後會失效。

--建立臨時udf(重啟後function消失)

create function if not exists phoneencode2(string) returns string

location "hdfs:///user/caixvkun/jinitaimei.jar"

symbol="com.cxk.decode";

--建立永久udf(重啟後function不消失)

create function if not exists phoneencode2

location "hdfs:///user/caixvkun/jinitaimei.jar"

symbol="com.cxk.decode";

UDF 在udf當中新增幾個有意思的巨集

很多人的 udf都不是自己寫的,直接從網上覆制貼上的,編譯的時候經常報錯。我編寫了下面這段示例 我們使用小軟體編譯 結果報如下錯誤 我們在 中新增如下的巨集 define define define define 修改以後的 再次用小軟體編譯 編譯成功!加上上面的巨集以後,可大幅度減少由於編碼過程當...

Hive中UDF的使用

udf user defined function 是對hive自帶函式的一種補充,並極大擴充了hql的作用範圍,不僅使 更加簡潔,也減少了很多重複工作,提高任務執行效率。udf.rank 該函式用於分組limit輸出,如 拉取每個使用者的前100條語料 需要對使用者cuid進行分組後,再分別取每組...

HIVE中的UDF程式設計

udf 一進一出 udaf 多進一出 aggregation 聚集 類似於count max min udtf 一進多出 show functions 檢視乙個函式的使用 desc function extended upper 1.修改pom.xml junit junit 4.10 test o...