631
windows
Java開發__Intelij 開發插件_工具_大數據計算服務-阿裏雲
MaxCompute studio能支持用戶開發java UDF和MR,在此之前,你得新建一個MaxCompute java module。
新建MaxCompute java module
File | new | module … module類型為MaxCompute Java,配置Java JDK和MaxCompute console的安裝路徑。若您尚未安裝MaxCompute console,可點擊這裏下載。
配置console目的有兩個:
- a) 開發UDF|MR需依賴相關的jar,而這些jar在console的lib目錄都存在。
- b) studio可以集成console,console能提供很多功能簡便的操作,如生產運行MR。
點擊next,輸入module名,點擊finish。
MaxCompute java module目錄結構
至此,一個能開發MaxCompute java程序的module已建立,如下圖的jDev。主要目錄包括:
- src(用戶開發java程序源碼)
- examples(示例代碼,包括單測示例,用戶可參考這裏的例子開發或編寫UT)
- warehouse(本地運行時需要的schema和data)
MaxCompute java module建好後,即可以開始開發UDF和MR了。具體步驟如下:
開發
- 1 在src目錄右鍵 new | MaxCompute Java
- 2 輸入類名,如myudf.PlusHello,選擇類型,這裏我們選擇UDF,點擊OK。
- 3 模板已自動填充框架代碼,你隻需要編寫UDF的入參出參,以及函數邏輯。
調試
UDF或MR開發好後,下一步就是要測試自己的代碼,看是否符合預期,我們支持兩種方式:
單元測試
在examples目錄下會有各種類型的單測實例,可參考例子編寫自己的UT。
下載表的部分sample數據到本地運行
studio也支持下載線上sample數據到本地來測試,進行debug,步驟如下:
- 1 在editor中UDF類上右鍵,點擊”運行”菜單,彈出run configuration對話框。UDF|UDAF|UDTF一般作用於select子句中表的某些列,因此此處需配置MaxCompute project,table和column(元數據來源於project explorer)。而MR直接作用於表的整行,輸入輸出表都在driver中已指定,因此隻需配置MaxCompute project即可。
- 2 點擊ok後,會自動通過MaxCompute tunnel服務下載表的sample數據(最多10000行)到本地的warehouse目錄。UDF和MR的local run框架然後會解析warehouse中指定列的數據,喂給Main Class,開始本地運行,用戶可以在控製台看到日誌輸出和結果打印。
UDF|MR開發測試完成,接下來就是打包發布到服務器上,供生產運行了。
打包
測試通過後,首先要將將代碼打包成jar資源,可以通過IDE或自己寫腳本解決,此處我們利用IDEA的打包功能:
- 1 File | Project Structure | Artifacts | Add
- 2 填寫要生成的jar包名稱,增加module output,選擇我們的java module,點擊OK,打包配置已完成。
- 3 選擇菜單項 Build | Build Artifacts… | Build 即可以在out/artifacts/目錄下生成jar。
上傳jar
成功打包後,即可以將該jar包上傳到MaxComptute服務端:
- 1 在MaxCompute菜單選擇Add Resource菜單項:
- 2 選擇要上傳到哪個MaxCompute project上,jar包路徑,要注冊的資源名,以及當資源或函數已存在時是否強製更新,然後點擊OK。
- 3 上傳成功後,可以在project explorer窗口的resources節點下看到該資源。
注冊UDF
jar包已上傳,接下來就可以注冊UDF了:
- 1 在MaxCompute菜單選擇Create Function菜單項。
- 2 選擇需要使用的資源jar,jar的主類,輸入函數名,然後點擊OK。
- 3 注冊成功後,可以在project explorer窗口的functions節點下看到該函數。
- 4 接下來就可以在SQL中愉快的使用新編寫的UDF了。
最後更新:2016-10-13 10:32:04
上一篇:
插件安裝__Intelij 開發插件_工具_大數據計算服務-阿裏雲
下一篇:
作業瀏覽__Intelij 開發插件_工具_大數據計算服務-阿裏雲
步驟 3-3:創建和查詢多維數據集__創建監控任務_用戶指南_業務實時監控服務 ARMS-阿裏雲
公網連接__連接實例_快速入門_雲數據庫 Redis 版-阿裏雲
性能測試實施及管理__高級課程_性能測試視頻教程_性能測試-阿裏雲
限製容器資源__應用管理_用戶指南_容器服務-阿裏雲
恒易融__最佳實踐_DDoS 高防IP-阿裏雲
阿裏雲的 IaaS 收入相當於中國另 7 個玩家的總和,占有 40.7% 的市場份額
技術幹貨:阿裏雲構建千萬級架構演變之路
AppendObject__關於Object操作_API 參考_對象存儲 OSS-阿裏雲
E-R 圖__擴展工具_用戶指南(RDBMS)_數據管理-阿裏雲
管理數據卷__數據卷指南_用戶指南_容器服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲