更新时间:2022-07-01 GMT+08:00
DLI使用UDF操作指导
DLI支持用户使用Hive UDF(User Defined Function,用户定义函数)进行数据查询等操作。
使用UDF操作步骤
- 编写UDF。
- 生成jar包,设置输出jar包为TestUDF.jar,执行Build Artifacts。
在对应的路径下会生成一个TestUDF.jar,例如:udfDemo\target\artifacts\TestUDF。
- 上传TestUDF.jar至OBS上。上传数据至OBS可参考提交SQL作业中“步骤2:上传数据至OBS”。
- 创建Function。
在DLI Console上输入下列命令创建Function:
CREATE FUNCTION fun1 AS 'com.demo.SumUdfDemo' using jar 'obs://udf/TestUDF.jar';
- 使用Function。
在查询语句中使用4中创建的Function:
select fun1(ip) from ip_tables;
- 删除Function。
如果不再使用该Function,可执行以下语句删除Function:
Drop FUNCTION fun1;
样例代码
SumUdfDemo.java中的样例代码如下所示:
package com.demo; import org.apache.hadoop.hive.ql.exec.UDF; public class SumUdfDemo extends UDF { public Int evaluate(Int a, Int b) { return a + b; } }