MaxCompute Studio使用心得系列6——一个工具完成整个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插件并安装
  4. 配置studio module对python的依赖。
    • File -> Project structure,添加python sdk:
    • File -> Project structure,添加python facets:
    • File -> Project structure,配置module依赖python facets:

开发Python UDF

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

新建python脚本。

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

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

本地调试

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

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

注册发布Python UDF

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

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

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

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

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

  • 北京云栖大会MaxCompute又出大招,Python UDF抢先体验!
  • Python on MaxCompute之UDF操作命令行
  • Python实现MaxCompute UDF/UDAF/UDTF

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

时间: 2024-09-10 10:17:01

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

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

MaxCompute提供了丰富的内置函数,但是依然还是无法满足所有业务,所以自定义函数在所难免. MaxCompute目前支持的UDF主要是JAVA UDF,但是原来的客户端console和大数据开发套件都不支持JAVA编辑,只能先在自己机器的java环境中编辑测试好,然后输出jar包,再通过console或大数据开发套件将jar包添加成resource,最后再注册成function.整个过程需要跨工具平台,且JAVA环境还需配置好MaxCompute提供的Eclipse插件,流程长耗时多. 本

MaxCompute Studio使用心得系列4——可视化查看所有job并分析运行情况

在使用MaxCompute的时候,很多同学会关注当前项目有多少任务在执行,哪些任务耗时长,哪些任务已经完成,并且能通过任务的logview来分析任务耗时长的原因. ofo的同学选择自己搭建任务管理平台通过sdk函数获取MaxCompute 相关job信息进行管理.如<MaxCompute的任务状态和多任务执行>所分享. 其他的没有精力自己搭建平台,可以通过show p -all;命令查看所有job,再通过wait instanceid;查看这个job的logview,最后通过logview再查

MaxCompute Studio使用心得系列1——本地数据上传下载

MaxCompute Studio已经发布好久,一直没能好好体验,近期MaxCompute Studio 陆续推出很多好用的功能,今天开始给大家分享使用心得. 用过大数据开发套件的同学,对于本地数据上传下载,都会遇到这样的问题: '导入本地数据'功能,限制本地数据文件大小最大为10MB: 查询结果导出本地时,由于select语句返回结果最大为10000行的限制,最多只能导出1W数据: 数据导出本地文件的功能只有'查询结果导出本地'. 要解决以上问题,通常都是需要自己安装console客户端,通过

MaxCompute Studio使用心得系列3——可视化分析作业运行

上一篇写分享了通过MaxCompute Studio 编写sql脚本时"编译"功能带来的便捷,这次分享脚本编译好提交运行后,自助查看作业的执行情况. 我们很熟悉的是通过logview,去分析作业的执行情况,logview上有很详细的执行日志,而Studio不仅仅提供可视化的信息,还会明确给出一些分析结论如job是有否长尾或数据倾斜情况. 比如我写完一个sql脚本,编译成功 接着执行脚本,Studio自动打开当前job的执行详细信息页面,包括job基本信息列表.详情展示和分析区(执行计划

MaxCompute Studio使用心得系列2——编译SQL脚本

开发人员写好代码,对代码进行语法编译是很常见的操作,但是目前常用的MaxCompute sql开发工具(大数据开发套件和console客户端),都没有该功能,必须把sql脚本提交运行后若有语法问题才会通过返回错误日志中获取相关信息. MaxCompute每次提交job都要少则几秒多则数分钟不等的排队过程,等返回失败信息,也需要等待一定的时间,不仅仅影响开发效率,还浪费计算资源. 本次分享 通过MaxCompute Studio 进行SQL脚本开发过程中"编译"功能带来的便利. 前提条件

【直播回顾】通过MaxCompute Studio实践大数据时代的DevOps

内容简介:阿里云大数据平台 MaxCompute 系统为开发者提供全托管的.PB 级的数据仓库解决方案,MaxCompute Studio 是 MaxCompute 新推出的数据集成开发环境(IDE),为开发者提供了 数据开发调试 - 命令行工具集成 - 自助作业分析诊断 的全面解决方案. 我将通过 MaxCompute Studio 的智能代码编辑能力.数据管理及浏览能力.作业可视化和自助诊断能力等展现 MaxCompute 平台的数据开发和部署的强大和敏捷性. 观众受益:带领大家实现数据仓库

使用 MaxCompute Studio 开发大数据应用

MaxCompute(原ODPS)是阿里云自主研发的分布式大数据处理平台,为用户提供了开放的编程接口和 SDK,允许用户在其强大灵活的存储和计算能力之上开发自己的数据应用和系统,创造更大的价值. 为了能让这一过程更加顺畅高效,随着 MaxCompute 2.0 的发布,我们提供了 MaxCompute Studio,一套基于流行的集成开发平台 IntelliJ IDEA 的开发插件,让用户在集成开发环境(IDE)中更方便地进行数据开发. MaxCompute Studio 为开发者提供了良好的开

深入阿里云大数据IDE–MaxCompute Studio

摘要:在主办的云栖计算之旅第5期–大数据与人工智能分享中,阿里云计算平台高级专家薛明为大家深入地介绍了阿里云大数据IDE–MaxCompute Studio,并对于其特性和背后的技术思想进行了讲解. 本文根据演讲视频整理而成. 本次将与大家深入地分享阿里云数加平台的大数据开发套件--MaxCompute Studio.其实对于开发者而言,在大数据开发.数据处理以及管理作业时经常会使用到IDE,而在阿里巴巴内部也有上万名大数据开发者,他们也会使用数加平台,也就是阿里巴巴统一的计算引擎--MaxCo

MaxCompute Studio提升UDF和MapReduce开发体验

UDF全称User Defined Function,即用户自定义函数.MaxCompute提供了很多内建函数来满足用户的计算需求,同时用户还可以创建自定义函数来满足定制的计算需求.用户能扩展的UDF有三种:UDF(User Defined Scalar Function),UDTF(User Defined Table Valued Function)和UDAF(User Defined Aggregation Function). 同时,MaxCompute也提供了MapReduce编程接口