UDF编程笔记

下面我们将给出一个完整的开发 UDF 流程示例,例如,实现一个字符小写转换功能的 UDF,需要经过以下几个步骤:

  1. 代码编写:按照 MaxCompute UDF 框架的规定,实现函数功能,并进行编译 。下面给出一个简单的代码实现:
package org.alidata.odps.udf.examples;
import com.aliyun.odps.udf.UDF;

public final class Lower extends UDF{

    public String evaluate(String s){
          if(s==null){
            return s.toLowerCase();
   }
 }
}

将这个 jar 包命名为“my_lower.jar”。

添加资源:在运行 UDF 之前,必须指定引用的 UDF 代码 。用户代码通过资源的形式添加到 MaxCompute 中 。Java UDF 必须被打成 jar 包,以 jar 资源添加到 MaxCompute 中,UDF 框架会自动加载 jar 包,运行用户自定义的 UDF 。

add jar my_lower.jar;

  1. 注册 UDF 函数:用户的 jar 包被上传后,使得 MaxCompute 有条件自动获取用户代码并运行 。但此时仍然无法使用这个 UDF,因为 MaxCompute 中并没有关于这个 UDF 的任何信息 。因此需要用户在 MaxCompute 中注册一个唯一的函数名,并指定这个函数名与哪个 jar 资源的哪个函数对应 。

CREATE FUNCTION test_lower AS org.alidata.odps.udf.examples.Lower USING my_lower.jar;

在sql中使用此函数:

select test_lower('A') from my_test_table;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撸码的xiao摩羯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值