真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何永久自定義hive函數(shù)

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

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),五蓮網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:五蓮等地區(qū)。五蓮做網(wǎng)站價(jià)格咨詢:18982081108

永久自定義hive函數(shù)

1:做這件事的原因:

有一些函數(shù)是比較基礎(chǔ)的,公用的,每次都要create temporary function麻煩了,這樣的基礎(chǔ)函數(shù)需要直接集成到hive中去,避免每次都要?jiǎng)?chuàng)建。

2:步驟

本人擁有一個(gè)賬戶zb_test

自定義的函數(shù)已經(jīng)準(zhǔn)備好

如何永久自定義hive函數(shù)
 

登陸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(目的是自己編譯的時(shí)候要用到)

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

解壓,找到hive-exec-0.12.0-cdh6.0.0.jar包(hive函數(shù)跟這個(gè)有關(guān)),再解壓。

jar -xvf XXX.jar

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

Javac ./utf/*

產(chǎn)生.class文件,放到abc目錄下。

把.class文件打成jar包

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

產(chǎn)生一個(gè)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(為了測(cè)試用的)

將函數(shù)test注冊(cè)到hive的函數(shù)列表中
修改$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:把剛剛產(chǎn)生的所有的.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的路徑下的。

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

以上是“如何永久自定義hive函數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站題目:如何永久自定義hive函數(shù)
標(biāo)題鏈接:http://weahome.cn/article/ijgjie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部