MaxCompute Studio支持Python UDF开发,但需要您做好准备工作。

开发

  1. 右键单击New > MaxCompute Python
    说明 如果没有MaxCompute Python选项说明没有Python插件,请确认是否安装成功。配置和安装过程请参见Python开发使用须知


  2. 输入类名,如Hello,选择类型,此处选择Python UDF。填写完成后单击OK

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

测试

UDF开发完成后,需要测试自己的代码,看是否符合预期。我们支持下载表的部分sample数据到本地运行,进行DeBug,操作如下:
  1. 右键单击Editor中的UDF类,单击RUN,弹出Run/Debug Configurations对话框。
    说明 UDF|UDAF|UDTF一般作用于Select子句中表的某些列,此处需配置MaxCompute project、table和columns, 元数据来源于project explorer窗口和warehouse下的Mock项目


  2. 单击OK后,通过Tunnel自动下载您指定表的sample数据到本地warehouse目录。
    说明
    • 如果已经下载过,则不会再次重复下载,否则利用Tunnel服务下载数据。
    • 默认下载100条,如果需要更多数据测试,请自行使用console的Tunnel命令或者Studio的表下载功能。
  3. 下载完成后,您可以在warehouse目录看到下载的sample数据。您也可以使用Mock data(即warehouse中的数据自己mock,详情请参见开发和调试UDF中的本地运行的warehouse目录模块。

  4. 本地运行框架会根据您指定的列,获取data文件中指定列的数据,调用UDF本地运行。
    说明 本地运行是通过Pyodps的pyou脚本实现的,命令如 pyou hello.Plus<data。安装完pyodps后可以使用相应的命令检查该脚本是否存在。
    • 如果您是windows系统,请运行${python}/../Scripts/pyou
    • 如果您是mac系统,请运行${python}/../pyou

    您可以在控制台看到结果打印,也可以在UDF上打断点调试。



注意:python UDF本地运行目前只兼容python2, 不支持get_cache_table。

注册发布

Python UDF测试通过后,就可以注册发布到生产上使用了。在UDF上右键,选择”Deploy to server…”菜单一键发布,具体步骤类似Java UDF发布。也可以分成两步实现,先Add Resource,然后Create Function。