537
财经资讯
创建自定义函数__快速开始_大数据开发套件-阿里云
UDF全称User Defined Function,即用户自定义函数。ODPS提供了很多内建函数来满足用户的计算需求,同时用户还可以通过创建自定义函数来满足不同的计算需求。UDF在使用上与普通的内建函数类似。Java UDF即通过Java实现的自定义函数。
Java UDF在大数据平台中的总体使用流程包括本地准备调试Java代码并编译为jar包、在大数据平台IDE中创建资源并上传jar包、在大数据平台IDE中新建注册函数与jar资源关联和UDF使用四大步骤,具体如下图所示:
案例说明
实现一个字符小写转换功能的UDF。
step1:代码编写
请在您本地的Java环境(需安装UDF开发插件)中按照ODPS UDF框架编写Java代码实现函数功能并进行编译成jar包。
本实例的Java代码如下,编译后的jar包为my_lower.jar。
package test_UDF;
import com.aliyun.odps.udf.UDF;
public class test_UDF extends UDF {
public String evaluate(String s) {
if (s == null) { return null; }
return s.toLowerCase();
}
}
step2:添加jar资源
在运行UDF之前,必须指定引用的UDF代码。用户编写的Java代码通过资源的形式添加上传到大数据平台中。而Java UDF必须被打成jar包,以jar包资源添加到平台,UDF框架会自动加载jar包,运行用户自定义的UDF。
具体操作如下:
步骤1:以开发者身份进入阿里云数加平台>开发套件>管理控制台,左侧导航“数据开发”项目列表中点击对应项目操作栏中的数据开发。
步骤2:新建资源文件。在文件目录树文件夹上右键上传资源,上传资源。
步骤3:在资源上传弹出框中填写各配置项,并点击提交。
提交成功则资源创建成功。
step3:注册UDF函数
上述步骤已经完成Java UDF代码的编写和jar资源上传,使得大数据平台有条件自动获取用户代码并运行,但此时在大数据平台中仍无法使用这个UDF,因为平台中并没有关于这个UDF的任何信息。因此需要用户在平台中注册一个唯一的函数名,并指定这个函数名与哪个资源的哪个函数对应。
具体操作如下:
步骤1:创建函数目录。文件目录树切换到“函数管理”,新建目录。
步骤2:在目录文件夹上右键>新建函数,或者右边工作区右上角 新建> 新建函数。
步骤3:在新建ODPS函数弹出框中填写各配置项,并提交。
提交成功则函数创建成功。
step4:在ODPS SQL中试用函数
Java UDF的具体使用方法与平台中内建函数相同,具体操作如下:
步骤1:工作区右上角新建>>新建脚本文件,创建一个ODPS SQL脚本文件。
步骤2:在ODPS代码编辑器中编写ODPS SQL。示例代码:
select test_lower('A') from dual;
步骤3:点击运行。
到此我们已经完成了Java UDF的注册并在SQL中进行了本地调用测试,若需每天调度执行字符小写转换任务,可在工作流中新建ODPS SQL节点来完成,并配置工作流的调度属性。
最后更新:2016-11-24 11:23:48
上一篇:
创建数据同步任务__快速开始_大数据开发套件-阿里云
下一篇:
创建OPEN MR__快速开始_大数据开发套件-阿里云
GenerateDataKey__API 参考_密钥管理服务-阿里云
二级域名设置解析方法__网站解析_产品使用问题_云解析-阿里云
查询路由器列表__路由器相关接口_API 参考_云服务器 ECS-阿里云
使用ActionTrail记录RAM操作__RAM操作记录_用户指南_访问控制-阿里云
C-SDK使用(µC/OS)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
安全组使用FAQ__ECS常见问题_产品使用问题_云服务器 ECS-阿里云
云服务器 ECS 有两种计费模式
异地容灾__典型应用_产品简介_云数据库 RDS 版-阿里云
创建堆栈失败__常见问题_资源编排-阿里云
资源列表__RAM子用户访问_API-Reference_日志服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云