MaxCompute Studio支持Python UDF开发,但需要您根据Python开发使用须知做好准备工作。

开发

  1. 右键单击New > MaxCompute Python
    说明
    如果没有MaxCompute Python选项说明没有Python插件,请确认是否安装成功。


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

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

测试

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


  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。pyou目前只支持python 2,不支持python 3。安装完pyodps后可检查该脚本是否存在:
    • 如果是windows系统,脚本位置${python}/../Scripts/pyou
    • 如果是mac系统,脚本位置${python}/../pyou
    您可以在控制台看到结果打印,也可以在UDF上打断点调试。

注册发布

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