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

简介: 2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过Studio进行Python udf开发。

2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过Studio进行Python udf开发。

前置条件

了解到,虽然功能发布,不过还在公测阶段,如果想要使用,还得申请开通:https://page.aliyun.com/form/odps_py/pc/index.htm。这里我就不介绍申请开通具体流程了。

环境准备

MaxCompute Studio支持Python UDF开发,前提需要安装python, pyodps和idea的python插件。

  1. 安装Python:可以Google或者百度搜索下如何安装。
  2. 安装pyodps:可以参考python sdk文档的安装步骤。即,在 Python 2.6 以上(包括 Python 3),系统安装 pip 后,只需运行下 pip install pyodps,PyODPS 的相关依赖便会自动安装。
  3. Intellij IDEA中安装Python插件。搜索Python Community Edition插件并安装
    image
  4. 配置studio module对python的依赖。

    • File -> Project structure,添加python sdk:
      image
    • File -> Project structure,添加python facets:
      image
    • File -> Project structure,配置module依赖python facets:
      image

开发Python UDF

环境都准备好后,既可在对应依赖的module里创建进行python udf开发。

新建python脚本。

右键 new | MaxCompute Python,弹框里输入脚本名称,选择类型为python udf:

image

生成的模板已自动填充框架代码,只需要编写UDF的入参出参,以及函数逻辑:
image

本地调试

代码开发好后,可以在Studio中进行本地调试。Studio支持下载表的部分sample数据到本地运行,进行debug,步骤如下:

  1. 右键python udf类,点击”运行”菜单,弹出run configuration对话框。UDF|UDAF|UDTF一般作用于select子句中表的某些列,此处需配置MaxCompute project,table和column(元数据来源于project explorer窗口和warehouse下的example项目):
    image
  2. 点击OK后,通过tunnel自动下载指定表的sample数据到本地warehouse目录(若之前已下载过,则不会再次重复下载,否则利用tunnel服务下载数据。默认下载100条,如需更多数据测试,可自行使用console的tunnel命令或者studio的表下载功能)。下载完成后,可以在warehouse目录看到下载的sample数据。这里用户也可以使用warehouse里的数据进行调试,具体可参考java udf开发中的关于本地运行的warehouse目录”部分)。
    image
  3. 然后本地运行框架会根据指定的列,获取data文件里指定列的数据,调用UDF本地运行。
    image

注册发布Python UDF

  1. 代码调试好后,将python脚本添加为MaxCompute的Resource:
    image

注意此处选择的MaxCompute project必须是已经申请开通python udf的project。

  1. 注册python 函数:
    image
  2. 在sql脚本中编辑MaxCompute sql试用python udf:
    image

好了,一个简单完整的python UDF通过Studio开发实践分享完成。

更多python UDF可以参考其他文章:

使用MaxCompute的pyodps和Studio有疑惑可以工单咨询,更多探讨可以加入对应钉钉群一起畅聊:

image

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
7月前
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
6月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
815 7
|
8月前
|
SQL 人工智能 分布式计算
拥抱数据洪流:ODPS,从工具到智能基石的认知跃迁
ODPS正从计算工具进化为智能基石,重塑数据价值链条。它不仅是效率引擎,更是决策资产、信任桥梁与预见系统。其创新架构支持存算分离、AI融合计算与隐私保护,助力企业迎接AI革命。未来,ODPS将推动绿色智能,成为组织数字化转型的核心支撑平台。
240 3
|
8月前
|
数据采集 存储 数据库
Python爬虫开发:Cookie池与定期清除的代码实现
Python爬虫开发:Cookie池与定期清除的代码实现
|
7月前
|
算法 程序员 API
电商程序猿开发实录:淘宝商品python(2)
本文分享了开发者在对接淘宝商品详情API过程中的真实经历,涵盖权限申请、签名验证、限流控制、数据解析及消息订阅等关键环节,提供了实用的Python代码示例,帮助开发者高效调用API,提升系统稳定性与数据处理能力。
|
9月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
1149 1
|
9月前
|
存储 算法 数据可视化
用Python开发猜数字游戏:从零开始的手把手教程
猜数字游戏是编程入门经典项目,涵盖变量、循环、条件判断等核心概念。玩家通过输入猜测电脑生成的随机数,程序给出提示直至猜中。项目从基础实现到功能扩展,逐步提升难度,适合各阶段Python学习者。
750 0
|
9月前
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
6月前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
469 14
|
7月前
|
机器学习/深度学习 运维 监控
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
553 0

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 推荐镜像

    更多