MaxCompute Studio使用心得系列5——一个工具完成整个JAVA UDF开发-阿里云开发者社区

开发者社区> 阿里巴巴大数据计算> 正文

MaxCompute Studio使用心得系列5——一个工具完成整个JAVA UDF开发

简介: 一个JAVA UDF要想发布到MaxCompute服务端供生产使用,要经历JAVA相关工具编码、打包 -> 上传 -> 注册几个步骤,跨至少2个工具(平台)。对此,通过MaxCOmpute Studio工具,从环境准备到JAVA代码开发、调试、打jar包/添加MaxCompute resource/注册函数整个过程一气呵成。

MaxCompute提供了丰富的内置函数,但是依然还是无法满足所有业务,所以自定义函数在所难免。

MaxCompute目前支持的UDF主要是JAVA UDF,但是原来的客户端console和大数据开发套件都不支持JAVA编辑,只能先在自己机器的java环境中编辑测试好,然后输出jar包,再通过console或大数据开发套件将jar包添加成resource,最后再注册成function。整个过程需要跨工具平台,且JAVA环境还需配置好MaxCompute提供的Eclipse插件,流程长耗时多。

本文分享通过MaxCompute Studio 进行UDF开发,从环境准备到JAVA代码开发、调试、打jar包/添加MaxCompute resource/注册函数整个过程一气呵成。

操作步骤

步骤一:MaxCompute Studio安装再此不赘述。

步骤二:创建 MaxCompute Java Module。
依次点击 File | new | module module类型为'MaxCompute Java',配置Java JDK。
点击next,输入module名,点击finish。
studio会帮用户自动创建一个maven module,并引入MaxCompute相关依赖(具体请查看pom文件),相关module结构说明详见文档
image

步骤三:开发java udf代码。在已创建的 MaxCompute Java Module 目录,导航至 src ->main ->java -> new:
image
若想先创建package可以选择package,创建好后再在这个package下创建MaxCompute java,name直接输入文件名称。也可以直接选择MaxCompute java然后name里输入‘package名称.文件名’,如下图。Kind都选择UDF。
image
创建文件后,既可进行java代码编辑。如快速入门 > UDF代码示例:
image

步骤四:本地调试,代码调试可以进行单元测试和本地运行,具体请看UDF调试文档,在此不赘述。

步骤五:注册MaxCompute UDF。调试好后右击UDF的java文件,选择‘Deploy to server’,弹框里选择注册到那个MaxCompute project,输入function name,Resource name也可以修改。
image
点击ok,操作成功的话,会同时生成jar包、将jar包提交为Resource、创建对应的function。可以在project元数据中查看到
image

步骤六:试用UDF。打开sql脚本,执行代码如select Lower_test('ABC');结果如下图:
image

好了,整个UDF开发过程只通过MaxCompute Studio就可以完成了。

以上操作步骤给的例子是一个UDF只需引用一个jar包资源的情况。如果还需引用其他的资源,那么jar包需要先导出,然后再添加成Resource,其他的资源也添加成Resource,最后再添加UDF,大致步骤如下:

  1. 修改pom.xml打包相关配置,导出jar包。File -> Project Structure->Artifacts新增JAR包,导出jar包到本地。
  2. 添加资源。选择资源文件(本地的jar包,或者其他资源文件)
    image
  3. 创建UDF。需要多个资源时,在using resources列表可以选择多个资源。
    image

欢迎加入Studio钉钉用户群一起交流经验!

image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里巴巴大数据计算
使用钉钉扫一扫加入圈子
+ 订阅

阿里大数据官方技术圈

官方博客
链接