91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何永久自定義hive函數

發布時間:2021-12-11 11:26:37 來源:億速云 閱讀:341 作者:小新 欄目:云計算

這篇文章主要為大家展示了“如何永久自定義hive函數”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何永久自定義hive函數”這篇文章吧。

永久自定義hive函數

1:做這件事的原因:

有一些函數是比較基礎的,公用的,每次都要create temporary function麻煩了,這樣的基礎函數需要直接集成到hive中去,避免每次都要創建。

2:步驟

本人擁有一個賬戶zb_test

自定義的函數已經準備好

如何永久自定義hive函數
 

登陸linux賬戶,修改該賬戶的home目錄下的.bashrc文件:

把CLASSPATH改成如下:

export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$SQOOP_HOME/lib:/opt/boh-2.0.0/hadoop/share/hadoop/

tools/lib/*:/opt/boh-2.0.0/hadoop/share/hadoop/common/lib/*:/opt/boh-2.0.0/hadoop/share/hadoop/common/*:/opt/boh-2.0.0/hive/li

b/*:$CLASSPATH(目的是自己編譯的時候要用到)

獲取hive-0.12.0-cdh6.0.0-src.tar.gz的源代碼

解壓,找到hive-exec-0.12.0-cdh6.0.0.jar包(hive函數跟這個有關),再解壓。

jar -xvf XXX.jar

編譯自定義函數的java文件,比如放在utf下

Javac ./utf/*

產生.class文件,放到abc目錄下。

把.class文件打成jar包

Jar -cvf ./hello.jar ./abc/*

產生一個jar包,叫hello.jar

把jar包放到/data/zb_test/目錄下

然后修改/data/zb_test/.bashrc文件的:

export CLASSPATH=/data/zb_test/hello.jar:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$SQOOP_HOME/lib:/opt/boh-2.0.0/hadoop/share/hadoop/tools/lib/*:/opt/boh-2.0.0/hadoop/share/hadoop/common/lib/*:/opt/boh-2.0.0/hadoop/share/hadoop/common/*:/opt/boh-2.0.0/hive/lib/*:$CLASSPATH(為了測試用的)

將函數test注冊到hive的函數列表中
修改$HIVE_HOME/src/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java文件
import org.apache.hadoop.hive.ql.udf.UDFTest;

registerUDF(“test”, UDFTest.class,false);

重要步驟:

1:把剛剛產生的所有的.class文件都放到修改$HIVE_HOME/src/ql/src/java/org/apache/hadoop/hive/ql/udf下面

2:然后編譯FunctionRegistry.java文件:編譯通過以后,我們找到hive-exec-0.12.0-cdh6.0.0.jar里面的$HIVE_HOME/src/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.class文件,我們把替換了。

這些路徑都是在hive-exec-0.12.0-cdh6.0.0.jar解壓后的org的路徑下的。

其實把這兩個步驟做了以后,重新把剛剛解壓的hive-exec-0.12.0-cdh6.0.0.jar打成jar包,替換了hive里的,就可以了。

以上是“如何永久自定義hive函數”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永宁县| 贵州省| 万荣县| 福泉市| 纳雍县| 宿州市| 乌鲁木齐县| 阿克苏市| 巧家县| 滁州市| 二连浩特市| 尚志市| 彭水| 新郑市| 神池县| 仁化县| 天长市| 简阳市| 兰坪| 鹤山市| 武冈市| 天峻县| 嫩江县| 苏州市| 海阳市| 安福县| 临沂市| 大洼县| 集安市| 绍兴县| 二连浩特市| 许昌市| 常山县| 陈巴尔虎旗| 鞍山市| 辽阳市| 稷山县| 盐池县| 邹平县| 夏河县| 五台县|