阅读537 返回首页    go 财经资讯


创建自定义函数__快速开始_大数据开发套件-阿里云

UDF全称User Defined Function,即用户自定义函数。ODPS提供了很多内建函数来满足用户的计算需求,同时用户还可以通过创建自定义函数来满足不同的计算需求。UDF在使用上与普通的内建函数类似。Java UDF即通过Java实现的自定义函数。

Java UDF在大数据平台中的总体使用流程包括本地准备调试Java代码并编译为jar包、在大数据平台IDE中创建资源并上传jar包、在大数据平台IDE中新建注册函数与jar资源关联和UDF使用四大步骤,具体如下图所示:

Demo_UDF_1

案例说明

实现一个字符小写转换功能的UDF。

step1:代码编写

请在您本地的Java环境(需安装UDF开发插件)中按照ODPS UDF框架编写Java代码实现函数功能并进行编译成jar包。

本实例的Java代码如下,编译后的jar包为my_lower.jar

  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. }

step2:添加jar资源

在运行UDF之前,必须指定引用的UDF代码。用户编写的Java代码通过资源的形式添加上传到大数据平台中。而Java UDF必须被打成jar包,以jar包资源添加到平台,UDF框架会自动加载jar包,运行用户自定义的UDF。

具体操作如下:

步骤1:以开发者身份进入阿里云数加平台>开发套件>管理控制台,左侧导航“数据开发”项目列表中点击对应项目操作栏中的数据开发

QK_4_0.JPG

步骤2:新建资源文件。在文件目录树文件夹上右键上传资源,上传资源。

步骤3:在资源上传弹出框中填写各配置项,并点击提交。

Demo_UDF_1

提交成功则资源创建成功。

step3:注册UDF函数

上述步骤已经完成Java UDF代码的编写和jar资源上传,使得大数据平台有条件自动获取用户代码并运行,但此时在大数据平台中仍无法使用这个UDF,因为平台中并没有关于这个UDF的任何信息。因此需要用户在平台中注册一个唯一的函数名,并指定这个函数名与哪个资源的哪个函数对应。

具体操作如下:

步骤1:创建函数目录。文件目录树切换到“函数管理”,新建目录。

步骤2:在目录文件夹上右键>新建函数,或者右边工作区右上角 新建> 新建函数。

步骤3:在新建ODPS函数弹出框中填写各配置项,并提交。

Demo_UDF_1

提交成功则函数创建成功。

step4:在ODPS SQL中试用函数

Java UDF的具体使用方法与平台中内建函数相同,具体操作如下:

步骤1:工作区右上角新建>>新建脚本文件,创建一个ODPS SQL脚本文件。

步骤2:在ODPS代码编辑器中编写ODPS SQL。示例代码:

  1. select test_lower('A') from dual;

步骤3:点击运行Run_Button

Demo_UDF_1

到此我们已经完成了Java UDF的注册并在SQL中进行了本地调用测试,若需每天调度执行字符小写转换任务,可在工作流中新建ODPS SQL节点来完成,并配置工作流的调度属性。

最后更新:2016-11-24 11:23:48

  上一篇:go 创建数据同步任务__快速开始_大数据开发套件-阿里云
  下一篇:go 创建OPEN MR__快速开始_大数据开发套件-阿里云