MaxCompute Studio使用心得系列6——一個工具完成整個Python UDF開發

摘要: 2017/12/20 北京雲棲大會上阿里雲MaxCompute發佈了最新的功能Python UDF,萬衆期待的功能終於支持啦,我怎麼能不一試爲快,今天就分享如何經過Studio進行Python udf開發。java

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

2017/12/20 北京雲棲大會上阿里雲MaxCompute發佈了最新的功能Python UDF,萬衆期待的功能終於支持啦,我怎麼能不一試爲快,今天就分享如何經過Studio進行Python udf開發。sql

前置條件框架

瞭解到,雖然功能發佈,不過還在公測階段,若是想要使用,還得申請開通:https://page.aliyun.com/form/...。這裏我就不介紹申請開通具體流程了。ide

環境準備
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開發。idea

新建python腳本。spa

右鍵 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

相關文章
相關標籤/搜索