天天看點

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

開發人員寫好代碼,對代碼進行文法編譯是很常見的操作,但是目前常用的MaxCompute sql開發工具(大資料開發套件和console用戶端),都沒有該功能,必須把sql腳本送出運作後若有文法問題才會通過傳回錯誤日志中擷取相關資訊。

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

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

前提條件:Project Explorer視窗中必須添加好項目,即添加項目中繼資料。

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

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

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

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

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

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

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

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

Studio 提供本地編譯腳本功能,在送出到伺服器上運作之前在本地進行必要的文法檢查、類型檢查等,編譯過程資訊通過 Messages MaxCompute View 展現:

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

輕按兩下編譯結果視窗中的 Log Item,可以快速定位到腳本的對應行列位置,直接進行修複。

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

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

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