hive编译源码支持自定义UDF函数
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,在工作中,我们需要用到自定义UDF函数:1.可以创建持久函数2.也可以将其编译在源码中本文档以源码编译的方式使用,下面为编译步骤;下载源码包wget http://archive.cloudera.c
千家信息网最后更新 2026年11月04日hive编译源码支持自定义UDF函数
在工作中,我们需要用到自定义UDF函数:
1.可以创建持久函数
2.也可以将其编译在源码中
本文档以源码编译的方式使用,下面为编译步骤;
下载源码包
wget http://archive.cloudera.com/cdh6/cdh/5/hive-1.1.0-cdh6.7.0-src.tar.gztar xf hive-1.1.0-cdh6.7.0-src.tar.gzcd hive-1.1.0-cdh6.7.0/
进入UDF代码的目录
cd ql/src/java/org/apache/hadoop/hive/ql/udf/------这里我们可以看到好多的UDF代码,以UDFXXX.java开头
将UDF的代码上面的目录下
helloUDF.javapackage com.ruozedata.hadoop.udf;import org.apache.hadoop.hive.ql.exec.UDF;public class HelloUDF extends UDF{ public String evaluate(String input) { //TODO...此处为开发业务逻辑的地方 return "Hello:" + input; } //下面为测试代码 public static void main(String[] args) { HelloUDF udf = new HelloUDF(); String output = udf.evaluate("测试数据"); System.out.println(output); }}在源代码中注册自定义的UDF函数
cd ql/src/java/org/apache/hadoop/hive/ql/exec/#vim FunctionRegistry.javaimport org.apache.hadoop.hive.ql.udf.HelloUDF;
在176行增加如下内容
system.registerUDF("HelloUDF", HelloUDF.class,false);编译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
编译后的文件为:
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复制到${HIVE_HOME}/lib/目录下
编译
代码
方式
函数
源码
目录
测试
业务
内容
地方
开头
数据
文件
步骤
源代码
逻辑
面的
工作
开发
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技巨头监管
互联网核心科技是什么
智能科技公司是互联网公司吗
互联网科技未来
中资互联网科技
互联网科技金融
深圳互联网科技公司
有马互联网科技
礼当家互联网科技
广州宏创互联网科技
互联网科技汛
衡水科技产业互联网平台
互联网实体化科技化
中盈科技互联网信息有限公司
迪庆互联网科技招生
互联网金融科技元年
从那以后互联网科技有限公司
互联网科技品牌
10位科技互联网大佬
青岛互联网科技园
广州互联网科技公司
互联网科技缩写
唐信互联网科技 大连
海南购全球互联网科技
隆华科技工业互联网
互联网媒体平台算高科技产业
企晟互联网信息科技有限公司
江苏苏星互联网科技有限公司
中天科技中国工业互联网
互联网科技创业计划的风险分析