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

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

hive編譯源碼支持自定義UDF函數(shù)

在工作中,我們需要用到自定義UDF函數(shù):

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

????1.可以創(chuàng)建持久函數(shù)

????2.也可以將其編譯在源碼中

本文檔以源碼編譯的方式使用,下面為編譯步驟;

  • 下載源碼包

wget?http://archive.cloudera.com/cdh6/cdh/5/hive-1.1.0-cdh6.7.0-src.tar.gz
tar?xf?hive-1.1.0-cdh6.7.0-src.tar.gz
cd?hive-1.1.0-cdh6.7.0/
  • 進(jìn)入U(xiǎn)DF代碼的目錄

cd?ql/src/java/org/apache/hadoop/hive/ql/udf/
------這里我們可以看到好多的UDF代碼,以UDFXXX.java開頭

hive編譯源碼支持自定義UDF函數(shù)

  • 將UDF的代碼上面的目錄下

helloUDF.java

package?com.ruozedata.hadoop.udf;
import?org.apache.hadoop.hive.ql.exec.UDF;
public?class?HelloUDF?extends?UDF{
????public?String?evaluate(String?input)?{
????????//TODO...此處為開發(fā)業(yè)務(wù)邏輯的地方
????????return?"Hello:"?+?input;
????}

????//下面為測(cè)試代碼
????public?static?void?main(String[]?args)?{
????????HelloUDF?udf?=?new?HelloUDF();
????????String?output?=?udf.evaluate("測(cè)試數(shù)據(jù)");
????????System.out.println(output);
????}
}
  • 在源代碼中注冊(cè)自定義的UDF函數(shù)

cd?ql/src/java/org/apache/hadoop/hive/ql/exec/
#vim?FunctionRegistry.java

import?org.apache.hadoop.hive.ql.udf.HelloUDF;

hive編譯源碼支持自定義UDF函數(shù)

在176行增加如下內(nèi)容

system.registerUDF("HelloUDF",?HelloUDF.class,false);

hive編譯源碼支持自定義UDF函數(shù)

  • 編譯hive

[root@hadoop001?exec]#?pwd
/opt/sourcecode/hive-1.1.0-cdh6.7.0
[root@hadoop001?hive-1.1.0-cdh6.7.0]#mvn?clean?package?-DskipTests?-Phadoop-2?-Pdist

hive編譯源碼支持自定義UDF函數(shù)

編譯后的文件為:

????1.packaging/target/apache-hive-1.1.0-cdh6.7.0-bin.tar.gz

????2. ./lib/hive-exec-1.1.0-cdh6.7.0.jar

  • 使用方式

方式一:將apache-hive-1.1.0-cdh6.7.0-bin.tar.gz重新部署

方式二:將編譯后的/lib/hive-exec-1.1.0-cdh6.7.0.jar復(fù)制到${HIVE_HOME}/lib/目錄下


文章名稱:hive編譯源碼支持自定義UDF函數(shù)
文章源于:http://weahome.cn/article/jdodco.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部