打包、上传及注册

当您完成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中依次执行以下三项操作:

  1. 打包Java程序为JAR包,请参见生成JAR包

  2. 上传JAR包至MaxCompute,请参见添加资源

  3. 注册MaxCompute UDF,请参见注册函数

操作步骤

  1. 在IntelliJ IDEA界面的左侧导航栏,单击Project,进入Module的源码目录(即src > main > java),右键单击已经编译成功的Java程序,选择Deploy to server…

  2. 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项目中存在同名函数或资源时,新函数或资源会替代旧函数或资源。

  3. 单击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跨项目访问资源

相关文档