MaxCompute Studio使用心得系列2——編譯SQL腳本
摘要: Console客戶端、大數據開發套件的SQL編輯器目前都沒有腳本編譯功能,每次需要執行SQL腳本,只能提交執行後若有語法錯誤,執行結果失敗返回失敗信息才發現,影響開發效率又浪費資源。今天我就來分享在MaxCompute SQL提交運行前就可以進行腳本編譯的方法。
原文:http://click.aliyun.com/m/40264/
開發人員寫好代碼,對代碼進行語法編譯是很常見的操作,但是目前常用的MaxCompute sql開發工具(大數據開發套件和console客戶端),都沒有該功能,必須把sql腳本提交運行後若有語法問題才會通過返回錯誤日誌中獲取相關信息。
MaxCompute每次提交job都要少則幾秒多則數分鐘不等的排隊過程,等返回失敗信息,也需要等待一定的時間,不僅僅影響開發效率,還浪費計算資源。
本次分享 通過MaxCompute Studio 進行SQL腳本開發過程中「編譯」功能帶來的便利。
前提條件:Project Explorer窗口中必須添加好項目,即添加項目元數據。
語法檢查與錯誤提示
Studio腳本編輯功能與 MaxCompute 編譯器高度整合,能夠在腳本編輯過程中實時進行語法檢查,並通過特殊高亮及 tips 文本給出錯誤提醒。便於開發人員快速排錯,提前對位問題。
如上圖所示,select * from abc;
這個簡單的語句,abc是表名,但在該腳本所屬的MaxCompute project中,表是不存在的,因此該表名字體變成紅色高亮,滑鼠移至上方會顯示 table hntest.abc cannot be resolved。
不僅僅能檢查到表是否存在,列是否存在也可以檢查到,如下圖所示:
潛在風險提示
由於 MaxCompute 語法及數據類型轉換的靈活性。很多情況下,書寫的腳本沒有語法錯誤,但也沒有得到想要的結果。針對這個痛點,Studio 結合腳本的編譯結果,給出相應的 WARNING 提示,將腳本中潛在的風險在開發和調試階段給出提醒,防患於未然。
Studio 對相關風險部分給予語法高亮或添加背景色展示並給出詳細說明,如:
本地編譯與錯誤定位
Studio 提供本地編譯腳本功能,在提交到伺服器上運行之前在本地進行必要的語法檢查、類型檢查等,編譯過程信息通過 Messages MaxCompute View 展現:
雙擊編譯結果窗口中的 Log Item,可以快速定位到腳本的對應行列位置,直接進行修復。
假如我一直忽視了編譯功能給我的各種語法錯誤檢查結果,也沒有操作本地編譯,直接在MaxCompute Studio上運行有語法錯誤的腳本,MaxCompute Studio依然盡職盡責的先把我提交的腳本進行本地編譯,然後給我提示:
好了,先分享到這,MaxCompute Studio編譯功能還會給我們帶來多少驚喜,需要多實踐才能多發現!
推薦閱讀:
※一個數據平台省了20個IT人力——敦奴數據平台建設案例分享
※紙質文檔轉可編輯電子版太複雜?請看這份安裝指南
※大數據那些事(22):又一場大撕逼
※VPAID要點知多少?