当您完成Java程序开发及调试后,您需要将Java程序打包为JAR包并以资源形式上传至MaxCompute项目后,才可以注册MaxCompute UDF,供后续在数据开发中调用。本文为您介绍在MaxCompute Studio中一键完成Java程序打包为JAR包、上传JAR包为MaxCompute资源及注册MaxCompute UDF。
前提条件
已完成Java程序开发及调试。更多开发及调试Java程序信息,请参见开发UDF、开发MapReduce或开发Graph。
功能说明
MaxCompute Studio提供了一键式完成打包Java程序为JAR包、上传JAR包至MaxCompute及注册MaxCompute UDF操作的能力,推荐您使用该方式。
您也可以在MaxCompute Studio中依次执行以下三项操作:
操作步骤
在IntelliJ IDEA界面的左侧导航栏,单击Project,进入Module的源码目录(即 ),右键单击已经编译成功的Java程序,选择Deploy to server…。
在Package a jar, submit resource and register function对话框中,配置下表所列参数信息。
参数名
说明
MaxCompute Project
指定目标MaxCompute项目的名称。此处会自动填充当前Java程序所属MaxCompute项目,您无需在下拉列表选择MaxCompute项目。
Resource file
MaxCompute Studio将Java程序打包为JAR包资源后,JAR包所在的本地路径。
Resource name
JAR包上传至MaxCompute项目后,对应的资源名称。
Resource comment
JAR资源的注释信息。
Extra resources
注册MaxCompute UDF时依赖的其他资源文件。您可以在资源列表中单击选中目标资源文件。如果MaxCompute UDF依赖多个资源文件,按住Ctrl键逐个单击需要的资源文件即可选中多个。此处的资源列表展示的是您已经上传至MaxCompute项目的资源,更多添加资源信息,请参见添加资源。
Main class
新注册MaxCompute UDF的类名。即Java程序中定义的类。
Function name
MaxCompute Studio基于JAR包资源注册的MaxCompute UDF名称。及后续在SQL中调用的函数名称。
Force update if already exists
选中该项,表示当MaxCompute项目中存在同名函数或资源时,新函数或资源会替代旧函数或资源。
单击OK,完成打包、上传资源及注册MaxCompute UDF。
完成上述操作后,即可在SQL中调用MaxCompute UDF。
下一步
完成Java UDF注册后,您即可通过MaxCompute SQL调用Java UDF:
在归属MaxCompute项目中使用UDF:使用方法与内建函数类似,您可以参照内建函数的使用方法使用自定义函数。
跨项目使用自定义函数:即在项目A中使用项目B的自定义函数,跨项目调用UDF示例:
SELECT B:<udf_naem> (<arg0>, <arg1>) FROM <table_name>;
。更多跨项目分享信息,请参见基于Package跨项目访问资源。
相关文档
开发、调用UDF(Java)过程中的常见问题,请参见MaxCompute UDF(Java)常见问题。
UDF开发示例,请参见UDF开发示例汇总。