更新时间:2022-07-01 GMT+08:00

DLI使用UDF操作指导

DLI支持用户使用Hive UDF(User Defined Function,用户定义函数)进行数据查询等操作。

使用UDF操作步骤

  1. 编写UDF。

    根据业务需要新建或修改样例代码中SumUdfDemo.java的内容。

  2. 生成jar包,设置输出jar包为TestUDF.jar,执行Build Artifacts。

    在对应的路径下会生成一个TestUDF.jar,例如:udfDemo\target\artifacts\TestUDF。

  3. 上传TestUDF.jar至OBS上。上传数据至OBS可参考提交SQL作业中“步骤2:上传数据至OBS”。
  4. 创建Function。

    在DLI Console上输入下列命令创建Function:

    CREATE FUNCTION fun1 AS 'com.demo.SumUdfDemo' using jar 'obs://udf/TestUDF.jar';
  5. 使用Function。

    在查询语句中使用4中创建的Function:

    select fun1(ip) from ip_tables;
  6. 删除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;
  }
 }