开发者社区 问答 正文

MaxCompute工具及下载:MaxCompute Studio:开发 Java 程序:打包/上传/注册



完成 UDFMR 开发后,需要打包发布到 MaxCompute 系统。

打包 UDF 或 MR


  1. 单击 File 下的 Project Structure。如下图所示:

  2. 选中左侧导航栏中的 Artifacts,单击中间栏上方的加号。如下图所示:

  3. 单击 JAR 下的 Empty,即添加一个空的 JAR 包。

  4. 指定 Name 后,添加内容到该 JAR 包中,即双击右侧 Available Elements 中相应 Name 下的 MyJavaModule complie output,单击 OK,完成 JAR 包内容的设置。如下图所示:

  5. 选择菜单中的 Build,单击 Build Artifacts。

  6. 单击弹出框中的 Build

    Build 完成后,即可在 MySQLProject 下的 out 目录中找到编译完成的 JAR 包。


上传 JAR 包


打包成功后,即可将该 JAR 包上传到 MaxComptute 服务端。

操作步骤


  1. 右键单击打包好的 JAR 包,选择菜单中的 Copy Path,复制 JAR 包在本地磁盘中的存储路径。

  2. 单击菜单中的 MaxCompute -> Add Resource,将该 JAR 包以资源的方式上传到 MaxCompute Project 中。

  3. 将复制的 JAR 包路径粘贴到 Resource file 中,单击 OK。

    上传成功后,您即可在 project explorer 窗口的 resources 节点下看到该资源。


注册 UDF


JAR 包上传完成后,即可注册 UDF 函数。

操作步骤


  1. 在 MaxCompute 菜单选择 Create Function

  2. 选择需要使用的资源 JAR 和 JAR 的主类,输入函数名,然后单击 OK。

  3. 注册成功后,即可在 project explorer 窗口的 functions 节点下看到该函数。

    完成上述操作,即可在 SQL 中使用新编写的 UDF 完成后续开发。
  

展开
收起
行者武松 2017-10-24 13:42:52 2032 分享 版权
阿里云 AI 助理回答

您已经详细描述了如何在IDE中打包UDF(用户自定义函数)或MapReduce程序,并将其上传至阿里云MaxCompute进行使用的全过程。这里我再简要概括一下流程,确保每一步都清晰明了:

打包UDF或MR

  1. 打开项目结构设置:在IDE中,选择File > Project Structure
  2. 配置Artifacts
    • 在左侧导航栏点击Artifacts,然后点击中间栏上方的加号。
    • 选择JAR下的Empty,创建一个新的空JAR包。
    • 指定JAR包名称后,从Available Elements中选择你的项目模块(如MyJavaModule complie output),添加到JAR包内容中。
  3. 构建JAR包:通过菜单Build > Build Artifacts来构建JAR文件。构建完成后,JAR包会位于项目的out目录下。

上传JAR包到MaxCompute

  1. 复制JAR路径:右键点击生成的JAR包,选择Copy Path以获取其本地路径。
  2. 使用DataWorks或CLI上传资源
    • 通过DataWorks:登录阿里云DataWorks控制台,找到对应的MaxCompute项目,使用Add Resource功能上传JAR包,粘贴之前复制的本地路径。
    • 或使用CLI:通过MaxCompute的CLI工具执行命令,如maxcompute fs -put local_path jar_name.jar /resources/将JAR上传至指定目录。

注册UDF

  1. 创建函数:在MaxCompute管理界面或DataWorks中,选择Create Function操作。
  2. 填写详情:选择已上传的资源JAR,输入JAR内的主类名和你希望注册的函数名,完成注册。
  3. 验证与使用:注册成功后,在SQL编辑器中即可像使用内置函数一样调用自定义的UDF函数。

以上步骤确保了您能够顺利地将自定义代码集成到MaxCompute中,加速数据处理任务的开发与执行。如果有任何关于阿里云MaxCompute产品使用上的疑问,或者需要进一步的技术支持,请随时告知。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答