MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发
摘要: 2017/12/20 北京云棲大會(huì)上阿里云MaxCompute發(fā)布了最新的功能Python UDF,萬眾期待的功能終于支持啦,我怎么能不一試為快,今天就分享如何通過Studio進(jìn)行Python udf開發(fā)。
點(diǎn)此查看原文:http://click.aliyun.com/m/40729/
2017/12/20 北京云棲大會(huì)上阿里云MaxCompute發(fā)布了最新的功能Python UDF,萬眾期待的功能終于支持啦,我怎么能不一試為快,今天就分享如何通過Studio進(jìn)行Python udf開發(fā)。
前置條件
了解到,雖然功能發(fā)布,不過還在公測(cè)階段,如果想要使用,還得申請(qǐng)開通:https://page.aliyun.com/form/odps_py/pc/index.htm。這里我就不介紹申請(qǐng)開通具體流程了。
環(huán)境準(zhǔn)備
MaxCompute Studio支持Python UDF開發(fā),前提需要安裝python, pyodps和idea的python插件。
1.安裝Python:可以Google或者百度搜索下如何安裝。
2.安裝pyodps:可以參考python sdk文檔的安裝步驟。即,在 Python 2.6 以上(包括 Python 3),系統(tǒng)安裝 pip 后,只需運(yùn)行下 pip install pyodps,PyODPS 的相關(guān)依賴便會(huì)自動(dòng)安裝。
3.Intellij IDEA中安裝Python插件。搜索Python Community Edition插件并安裝
配置studio module對(duì)python的依賴。
File -> Project structure,添加python sdk:
File -> Project structure,添加python facets:
File -> Project structure,配置module依賴python facets:
開發(fā)Python UDF
環(huán)境都準(zhǔn)備好后,既可在對(duì)應(yīng)依賴的module里創(chuàng)建進(jìn)行python udf開發(fā)。
新建python腳本。
右鍵 new | MaxCompute Python,彈框里輸入腳本名稱,選擇類型為python udf:
生成的模板已自動(dòng)填充框架代碼,只需要編寫UDF的入?yún)⒊鰠?#xff0c;以及函數(shù)邏輯:
本地調(diào)試
代碼開發(fā)好后,可以在Studio中進(jìn)行本地調(diào)試。Studio支持下載表的部分sample數(shù)據(jù)到本地運(yùn)行,進(jìn)行debug,步驟如下:
右鍵python udf類,點(diǎn)擊”運(yùn)行”菜單,彈出run configuration對(duì)話框。UDF|UDAF|UDTF一般作用于select子句中表的某些列,此處需配置MaxCompute project,table和column(元數(shù)據(jù)來源于project explorer窗口和warehouse下的example項(xiàng)目):
點(diǎn)擊OK后,通過tunnel自動(dòng)下載指定表的sample數(shù)據(jù)到本地warehouse目錄(若之前已下載過,則不會(huì)再次重復(fù)下載,否則利用tunnel服務(wù)下載數(shù)據(jù)。默認(rèn)下載100條,如需更多數(shù)據(jù)測(cè)試,可自行使用console的tunnel命令或者studio的表下載功能)。下載完成后,可以在warehouse目錄看到下載的sample數(shù)據(jù)。這里用戶也可以使用warehouse里的數(shù)據(jù)進(jìn)行調(diào)試,具體可參考java udf開發(fā)中的關(guān)于本地運(yùn)行的warehouse目錄”部分)。
然后本地運(yùn)行框架會(huì)根據(jù)指定的列,獲取data文件里指定列的數(shù)據(jù),調(diào)用UDF本地運(yùn)行。
注冊(cè)發(fā)布Python UDF
代碼調(diào)試好后,將python腳本添加為MaxCompute的Resource:
注意此處選擇的MaxCompute project必須是已經(jīng)申請(qǐng)開通python udf的project。
注冊(cè)python 函數(shù):
在sql腳本中編輯MaxCompute sql試用python udf:
好了,一個(gè)簡單完整的python UDF通過Studio開發(fā)實(shí)踐分享完成。
更多python UDF可以參考其他文章:
北京云棲大會(huì)MaxCompute又出大招,Python UDF搶先體驗(yàn)!
Python on MaxCompute之UDF操作命令行
Python實(shí)現(xiàn)MaxCompute UDF/UDAF/UDTF
總結(jié)
以上是生活随笔為你收集整理的MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TableStore发布多元索引功能,打
- 下一篇: 与机器学习算法有关的数据结构