標籤:

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

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

點此查看原文:click.aliyun.com/m/4072

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

前置條件

了解到,雖然功能發布,不過還在公測階段,如果想要使用,還得申請開通:page.aliyun.com/form/od。這裡我就不介紹申請開通具體流程了。

環境準備

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

推薦閱讀:

使用Python抓取婚戀網用戶數據並用決策樹生成自己擇偶觀
Python中一個創建樹結構的方法。
Python多重繼承是否始終是遵循從左到右 深度優先的規則?
[16] Python循環語句(三)

TAG:Python |