UDF打成jar包并添加为Hive的自定义函数

好文章参考:https://blog.csdn.net/zwjzqqb/article/details/79042636,写的很详细。

废话不多数,具体步骤

1. 先把java项目转化一下成maven项目

(1)在项目上右击, 选择 configure ->Convert to maven project 此命令把该项目转换成 maven 项目 
(2)然后在项目右击, run as 选项里就有 maven install 菜单了

(从git上下载下来之后  作为普通项目了,需要转换成maven项目)

2.然后测试一下,可以选择mvn test,先把例子跑过了。

3. 第三步对着项目右键,mvn install,顺利的话会在项目目录下的target目录下生成jar包

4.把jar包放到hdfs的一个目录下   hdfs dfs -put   xxx.jar   /xxx/xxx

5. beeline模式下创建函数,语法如下:

 jdbc:hive2://localhost:10000/default>  create function hahaha as 'com.datafibers.hiveudf.udf.StringLower' using jar 'hdfs:///apps/hive/function/df-hiveudf-1.0-SNAPSHOT.jar';

6. 这里一直有个bug

-- 此处有一个BUG,show functions  hahaha

无法看到该函数 -- 但是可以直接使用 -- 如果重新在default数据库中(我beeline连接时直接连接了default数据库)创建同名函数,则会报错函数已存在。

7. ok了,可以运行hahaha函数了。发现确实把大写字母都变成了小写字母。

猜你喜欢

转载自blog.csdn.net/u011495642/article/details/84327256