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 | modulemodule类型为'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

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
7月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
2683 1
|
9月前
|
传感器 Java 大数据
Java 大视界 -- 基于 Java 的大数据实时数据处理在车联网车辆协同控制中的应用与挑战(197)
本文深入探讨了基于 Java 的大数据实时数据处理在车联网车辆协同控制中的关键应用与技术挑战。内容涵盖数据采集、传输与实时处理框架,并结合实际案例分析了其在车辆状态监测、交通优化与协同驾驶中的应用效果,展示了 Java 大数据技术在提升交通安全性与效率方面的巨大潜力。
|
6月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
812 4
|
7月前
|
人工智能 Java API
Java AI智能体实战:使用LangChain4j构建能使用工具的AI助手
随着AI技术的发展,AI智能体(Agent)能够通过使用工具来执行复杂任务,从而大幅扩展其能力边界。本文介绍如何在Java中使用LangChain4j框架构建一个能够使用外部工具的AI智能体。我们将通过一个具体示例——一个能获取天气信息和执行数学计算的AI助手,详细讲解如何定义工具、创建智能体并处理执行流程。本文包含完整的代码示例和架构说明,帮助Java开发者快速上手AI智能体的开发。
2602 8
|
9月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
本文深入探讨了Java大数据技术在智能金融理财产品风险评估与个性化配置中的关键应用。通过高效的数据采集、存储与分析,Java大数据技术助力金融机构实现精准风险评估与个性化推荐,提升投资收益并降低风险。
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
|
8月前
|
存储 供应链 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在企业供应链风险预警与决策支持中的应用(204)
本篇文章探讨了基于 Java 的大数据可视化技术在企业供应链风险预警与决策支持中的深度应用。文章系统介绍了从数据采集、存储、处理到可视化呈现的完整技术方案,结合供应链风险预警与决策支持的实际案例,展示了 Java 大数据技术如何助力企业实现高效、智能的供应链管理。
|
8月前
|
存储 SQL Java
Java 大视界 -- Java 大数据在智能医疗手术风险评估与术前方案制定中的应用探索(203)
本文探讨了Java大数据技术在智能医疗手术风险评估与术前方案制定中的创新应用。通过多源数据整合、智能分析模型构建及知识图谱技术,提升手术风险预测准确性与术前方案制定效率,助力医疗决策智能化,推动精准医疗发展。
|
9月前
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
9月前
|
数据采集 机器学习/深度学习 Java
Java 大视界 -- Java 大数据在智能体育赛事运动员体能监测与训练计划调整中的应用(200)
本篇文章聚焦 Java 大数据在智能体育赛事中对运动员体能监测与训练计划的智能化应用。通过构建实时数据采集与分析系统,结合机器学习模型,实现对运动员体能状态的精准评估与训练方案的动态优化,推动体育训练迈向科学化、个性化新高度。
|
9月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。

热门文章

最新文章

相关产品

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