资讯专栏INFORMATION COLUMN

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

张迁 / 602人阅读

摘要:摘要北京云栖大会上阿里云发布了最新的功能,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过进行开发。注册函数在脚本中编辑试用好了,一个简单完整的通过开发实践分享完成。

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

点此查看原文:http://click.aliyun.com/m/40729/

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

前置条件

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

环境准备
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插件并安装

配置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,步骤如下:

右键python udf类,点击”运行”菜单,弹出run configuration对话框。UDF|UDAF|UDTF一般作用于select子句中表的某些列,此处需配置MaxCompute project,table和column(元数据来源于project explorer窗口和warehouse下的example项目):

点击OK后,通过tunnel自动下载指定表的sample数据到本地warehouse目录(若之前已下载过,则不会再次重复下载,否则利用tunnel服务下载数据。默认下载100条,如需更多数据测试,可自行使用console的tunnel命令或者studio的表下载功能)。下载完成后,可以在warehouse目录看到下载的sample数据。这里用户也可以使用warehouse里的数据进行调试,具体可参考java udf开发中的关于本地运行的warehouse目录”部分)。

然后本地运行框架会根据指定的列,获取data文件里指定列的数据,调用UDF本地运行。

注册发布Python UDF

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

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

注册python 函数:

在sql脚本中编辑MaxCompute sql试用python udf:

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

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41276.html

相关文章

  • PyODPS 中使用 Python UDF

    摘要:中使用首先,我们需要写一个文件,假设我们就是把某一列按格式放的一列转成格式。这里我们指定了函数名叫,主类使我们上传的文件里的类。现在我们就可以在中调用这个了。这样我们就完成了在中使用的整个过程。 摘要: PyODPS 中使用 Python UDF 包含两方面,一个是直接使用,也就是在 MaxCompute SQL 中使用;一个是间接的方式,也就是 PyODPS DataFrame,这种...

    evin2016 评论0 收藏0
  • PyODPS 中使用 Python UDF

    摘要:中使用首先,我们需要写一个文件,假设我们就是把某一列按格式放的一列转成格式。这里我们指定了函数名叫,主类使我们上传的文件里的类。现在我们就可以在中调用这个了。这样我们就完成了在中使用的整个过程。 摘要: PyODPS 中使用 Python UDF 包含两方面,一个是直接使用,也就是在 MaxCompute SQL 中使用;一个是间接的方式,也就是 PyODPS DataFrame,这种...

    jcc 评论0 收藏0
  • PyODPS开发中的最佳实践

    摘要:摘要支持用来对对象进行操作,它提供了来用类似的接口进行大规模数据分析以及预处理,并且可以用模块来执行机器学习算法。现在为了让大家能更好地使用,我们总结开发过程中的最佳实践,来让大家更高效地开发程序。 摘要: PyODPS支持用 Python 来对 MaxCompute 对象进行操作,它提供了 DataFrame API 来用类似 pandas 的接口进行大规模数据分析以及预处理,并且可...

    hellowoody 评论0 收藏0
  • MaxCompute UDF 中运行 Scipy

    摘要:编写完成后,将代码保存为,并在中执行此后创建函数。执行创建后,便可以在中执行查询暂不支持,因而需禁用其他如果包依赖了其他包,需要一并上传并同时加入到依赖中。 摘要: 新版 MaxCompute Isolation Session 支持 Python UDF。也就是说,Python UDF 中已经可以跑二进制包。刚才以 Scipy 为例踩了一下坑,把相关的过程分享出来。 新版 MaxCo...

    kbyyd24 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<