閱讀529 返回首頁    go 阿裏雲 go 技術社區[雲棲]


MaxCompute Studio使用心得係列2——編譯SQL腳本

開發人員寫好代碼,對代碼進行語法編譯是很常見的操作,但是目前常用的MaxCompute sql開發工具(大數據開發套件和console客戶端),都沒有該功能,必須把sql腳本提交運行後若有語法問題才會通過返回錯誤日誌中獲取相關信息。

MaxCompute每次提交job都要少則幾秒多則數分鍾不等的排隊過程,等返回失敗信息,也需要等待一定的時間,不僅僅影響開發效率,還浪費計算資源。

本次分享 通過MaxCompute Studio 進行SQL腳本開發過程中“編譯”功能帶來的便利。

前提條件:Project Explorer窗口中必須添加好項目,即添加項目元數據。

語法檢查與錯誤提示

Studio腳本編輯功能與 MaxCompute 編譯器高度整合,能夠在腳本編輯過程中實時進行語法檢查,並通過特殊高亮及 tips 文本給出錯誤提醒。便於開發人員快速排錯,提前對位問題。

image

如上圖所示,select * from abc;這個簡單的語句,abc是表名,但在該腳本所屬的MaxCompute project中,表是不存在的,因此該表名字體變成**紅色高亮**,鼠標移至上方會顯示 table hntest.abc cannot be resolved。

不僅僅能檢查到表是否存在,列是否存在也可以檢查到,如下圖所示:

image

潛在風險提示

由於 MaxCompute 語法及數據類型轉換的靈活性。很多情況下,書寫的腳本沒有語法錯誤,但也沒有得到想要的結果。針對這個痛點,Studio 結合腳本的編譯結果,給出相應的 WARNING 提示,將腳本中潛在的風險在開發和調試階段給出提醒,防患於未然。

Studio 對相關風險部分給予語法高亮或添加背景色展示並給出詳細說明,如:

image

本地編譯與錯誤定位

Studio 提供本地編譯腳本功能,在提交到服務器上運行之前在本地進行必要的語法檢查、類型檢查等,編譯過程信息通過 Messages MaxCompute View 展現:

image

雙擊編譯結果窗口中的 Log Item,可以快速定位到腳本的對應行列位置,直接進行修複。

假如我一直忽視了編譯功能給我的各種語法錯誤檢查結果,也沒有操作本地編譯,直接在MaxCompute Studio上運行有語法錯誤的腳本,MaxCompute Studio依然盡職盡責的先把我提交的腳本進行本地編譯,然後給我提示:

image

好了,先分享到這,MaxCompute Studio編譯功能還會給我們帶來多少驚喜,需要多實踐才能多發現!

最後更新:2017-10-30 18:03:47

  上一篇:go  女工程師獨家揭秘:支撐雙11每秒10萬次交易背後的數據庫團隊故事
  下一篇:go  這所“騎單車進,開寶馬出”的學校,因為天貓雙11“瘋”了