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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 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的热门话题分析
目录
相关文章
|
2月前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具
|
3月前
|
程序员 测试技术 开发者
Python装饰器:简化代码的强大工具
Python装饰器:简化代码的强大工具
204 92
|
2月前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
221 3
|
3月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
685 1
|
2月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
477 0
|
3月前
|
API 数据安全/隐私保护 Python
拼多多批量上架软件, 电商一键上货发布工具,python电商框架分享
多线程批量上传架构,支持并发处理商品数据 完整的拼多多API签名和token管理机制
|
3月前
|
安全 API 数据安全/隐私保护
|
3月前
|
Java API 数据安全/隐私保护
淘宝一键上货发布软件,淘宝批量发布上架工具, 淘宝批量上架脚本【python】
这个Python脚本实现了以下功能: 完整的淘宝API调用封装
|
3月前
|
机器人 数据安全/隐私保护 Python
淘宝批量发货发布工具, 淘宝批量上传商品软件, 淘宝批量上架软件【python】
使用Selenium实现自动化操作淘宝卖家后台 支持三种核心功能
|
3月前
|
Linux 数据安全/隐私保护 Python
一键修改电脑机器码, 软件机器码一键修改工具, 机器码重置工具【python】
该工具实现了完整的机器码生成、加密、验证功能 使用系统硬件信息生成唯一机器码

相关产品

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

    更多