全部产品
大数据开发套件

创建自定义函数

更新时间:2017-08-18 10:45:04   分享:   

用户自定义函数(User Defined Function,简称 UDF),是用户除了使用 MaxCompute 提供的 内建函数 外,自行创建的函数,用于满足个性化的计算需求。自定义函数在使用上与普通的内建函数类似,详情请参见 MaxCompute 相关文档 编写 UDF

本文将通过实现字符小写转换功能的函数,说明用户自定义函数的创建过程,以及如何在大数据开发套件中使用该函数,具体流程图如下所示:

1

操作步骤

在本地编写代码并编译为 Jar 包

注意:

在开始本地代码开发前,请确保您的本地环境为 Java 环境。

  1. 安装 UDF 开发插件

  2. 在本地 Java 环境中按照 MaxCompute UDF 框架 编写 Java 代码实现函数,本示例的代码如下所示:

    1. package test_UDF;
    2. import com.aliyun.odps.udf.UDF;
    3. public class test_UDF extends UDF {
    4. public String evaluate(String s) {
    5. if (s == null) { return null; }
    6. return s.toLowerCase();
    7. }
    8. }
  3. 将以上代码编译成 Jar 包,您可以单击 my_lower.jar 下载已经编译好的 Jar 文件直接使用。

上传资源到大数据开发套件

  1. 以开发角色进入 阿里云数加平台—大数据开发套件—管理控制台,单击项目列表下对应项目操作栏中的 进入工作区

  2. 上传资源文件。在目录树中选择一个文件夹,然后右键选择 上传资源

  3. 填写资源上传弹出框中的各配置项。

    Demo_UDF_1

  4. 填写完成后,单击 提交,若提交成功则资源创建成功。

新建自定义函数并引用资源

  1. 进入大数据开发套件的数据开发页面,切换到 函数管理 模块。

  2. 在目录树中选择一个文件夹,然后右键选择 新建函数,或者单击右侧工作区右上角的 新建 选择 新建函数

  3. 填写 新建 ODPS 函数 弹出框中的各配置项。

    Demo_UDF_1

  4. 填写完成后,单击 提交,若提交成功则函数创建成功。

在 ODPS_SQL 任务或脚本中调试函数

在大数据开发套件的数据开发页面新建一个脚本文件,选择为 ODPS_SQL 类型,创建成功后在代码编辑器中编写 SQL 语句,如下所示:

  1. select my_lower("A") from dual ;

注意:

这里的 dual 是创建的临时表,您可根据自身需求创建表,建表语句请参见 创建表

单击 1运行,查看结果。

1

此时,您已经完成自定义函数的创建和使用,并在脚本文件中看到使用效果。如需每天调度执行字符小写转换任务,可将代码复制到 ODPS_SQL 类型的任务中,并为任务配置工作流的调度属性来实现。

本文导读目录
本文导读目录
以上内容是否对您有帮助?