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

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
12天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
2月前
|
NoSQL Java 关系型数据库
凭借Java开发进阶面试秘籍(核心版)逆流而上
最近参加了面试或者身边有朋友在面试的兄弟有没有发现,现在的面试不仅会问八股文,还会考察框架、项目实战、算法数据结构等等,需要准备的越来越多。 其实面试的时候,并不是要求你所有的知识点都会,而是关键的问题答到点子上!这份《Java 开发进阶面试秘籍(核心版)》由 P8 面试官整体把控,目前已经更新了 30 万字! 资料中涵盖了一线大厂、中小厂面试真题,毕竟真题都是技术领域最经典的基础知识和经验沉淀的汇总,非常有必要学习掌握!双重 buff 叠加,offer 接到手软~ 点击此处取,这可能是你到目前为止领取的最具含金量的一份资料! 整套资料涵盖:Spring、Spring
|
2月前
|
SQL 分布式计算 监控
MaxCompute提供了一些工具以帮助您监控作业和资源使用情况。
【2月更文挑战第4天】MaxCompute提供了一些工具以帮助您监控作业和资源使用情况。
22 8
|
1月前
JavaWeb 开发之 ServletContext 的和使用
JavaWeb 开发之 ServletContext 的和使用
21 1
|
5天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
13 0
|
7天前
|
人工智能 小程序 Java
JAVA开发智慧学校系统源码+人脸电子班牌布局
智慧校园是通过利用物联网,大数据技术来改变师生和校园资源相互交互的方式,以便提高交互的明确性、灵活性和响应速度,从而实现智慧化服务和管理的校园模式。
|
13天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
13天前
|
前端开发 Java API
构建RESTful API:Java中的RESTful服务开发
【4月更文挑战第3天】本文介绍了在Java环境中构建RESTful API的重要性及方法。遵循REST原则,利用HTTP方法处理资源,实现CRUD操作。在Java中,常用框架如Spring MVC简化了RESTful服务开发,包括定义资源、设计表示层、实现CRUD、考虑安全性、文档和测试。通过Spring MVC示例展示了创建RESTful服务的步骤,强调了其在现代Web服务开发中的关键角色,有助于提升互操作性和用户体验。
构建RESTful API:Java中的RESTful服务开发
|
17天前
|
存储 安全 Java
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
27 1
|
17天前
|
Java API Apache
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(基础编程篇)
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(基础编程篇)
43 0

相关产品

  • 云原生大数据计算服务 MaxCompute