本文為您介紹如何通過DataWorks加工採集至MaxCompute的資料,並擷取清洗後的資料。
前提條件
開始本文的操作前,請首先完成準備資料中的操作。
建立表
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,在下拉框中選擇對應工作空間後單擊進入資料開發。
在資料開發頁面,展開目標商務程序。
按右鍵MaxCompute,選擇建立表。
在建立表對話方塊中,輸入表名稱,單擊建立。
重要表名必須以字母開頭,不能包含中文或特殊字元,且不能超過64個字元。
此處需要建立的資料表,如下所示:
建立三張表,分別儲存同步過來的電量下降趨勢資料、指標資料和竊電標誌資料清洗之後的資料(clean_trend_data、clean_indicators_data和clean_steal_flag_data)。
建立表data4ml,儲存匯聚後的資料。
開啟建立的表,單擊DDL,分別輸入以下相應的建表語句。
--清洗後的電量下降趨勢資料 CREATE TABLE clean_trend_data ( uid bigint, trend bigint ) PARTITIONED BY (dt string) LIFECYCLE 7;--清洗後的指標資料 CREATE TABLE clean_indicators_data ( uid bigint, xiansun bigint, warnindicator bigint ) COMMENT '*' PARTITIONED BY (ds string) LIFECYCLE 36000;--清洗後的竊電標誌資料 CREATE TABLE clean_steal_flag_data ( uid bigint, flag bigint ) COMMENT '*' PARTITIONED BY (ds string) LIFECYCLE 36000;--匯聚後的資料 CREATE TABLE data4ml ( uid bigint, trend bigint, xiansun bigint, warnindicator bigint, flag bigint ) COMMENT '*' PARTITIONED BY (ds string) LIFECYCLE 36000;- 建表語句輸入完成後,單擊產生表結構並確認覆蓋當前操作。
- 返回建表頁面後,在基本屬性中輸入表的中文名。
完成設定後,分別單擊提交到開發環境和提交到生產環境。
設計商務程序
商務程序的建立及依賴關係的配置請參見建立商務程序。
進入商務程序開發面板,並向面板中拖入兩個ODPS SQL節點,依次命名為資料清洗和資料匯聚。
配置ODPS SQL節點
配置資料清洗節點。
雙擊資料清洗節點,進入節點配置頁面。
編寫處理邏輯。
SQL邏輯如下所示。
INSERT OVERWRITE TABLE clean_trend_data PARTITION(dt=${bdp.system.bizdate}) SELECTuid ,trend FROMtrend_data WHEREtrend IS NOT NULL ANDuid != 0 ANDdt = ${bdp.system.bizdate} ; INSERT OVERWRITE TABLE clean_steal_flag_data PARTITION(ds=${bdp.system.bizdate}) SELECTuid ,flag FROMsteal_flag_data WHEREuid != 0 ANDds = ${bdp.system.bizdate} ; INSERT OVERWRITE TABLE clean_indicators_data PARTITION(ds=${bdp.system.bizdate}) SELECTuid ,xiansun,warnindicator FROMindicators_data WHEREuid != 0 ANDds = ${bdp.system.bizdate} ;單擊工具列中的
表徵圖。
配置資料匯聚節點。
雙擊資料匯聚節點,進入節點配置頁面。
編寫處理邏輯。
SQL邏輯如下所示。
INSERT OVERWRITE TABLE data4ml PARTITION (ds=${bdp.system.bizdate}) SELECTa.uid ,trend ,xiansun ,warnindicator ,flag FROM ( SELECT uid,trend FROM clean_trend_data where dt=${bdp.system.bizdate} )a FULL OUTER JOIN ( SELECT uid,xiansun,warnindicator FROMclean_indicators_data where ds=${bdp.system.bizdate} )b ONa.uid = b.uid FULL OUTER JOIN ( SELECT uid,flag FROMclean_steal_flag_data where ds=${bdp.system.bizdate} )c ONb.uid = c.uid ;單擊工具列中的
表徵圖。
提交商務程序
開啟商務程序配置面板,單擊工具列中的
表徵圖。選擇提交對話方塊中需要提交的節點,輸入備忘,並選中忽略輸入輸出不一致的警示。
單擊確認,待顯示提交成功即可。
運行商務程序
開啟商務程序配置面板,單擊工具列中的
表徵圖。在左側導覽列,單擊臨時查詢。
在臨時查詢頁面,按右鍵臨時查詢,選擇。
編寫並執行SQL語句,查看匯入表clean_trend_data、clean_indicators_data、clean_steal_flag_data和data4ml的記錄數。
SQL語句如下所示,其中分區列需要更新為業務日期。例如,任務啟動並執行日期為20190809,則業務日期為20190808。
--查看是否成功寫入MaxCompute SELECT count(*) from clean_trend_data where dt=業務日期; SELECT count(*) from clean_indicators_data where ds=業務日期; SELECT count(*) from clean_steal_flag_data where ds=業務日期; SELECT count(*) from data4ml where ds=業務日期;
發布商務程序
提交商務程序後,表示任務已進入開發環境。由於開發環境的任務不會自動調度,您需要將配置完成的任務發布至生產環境。
將任務發布至生產環境前,您需要對代碼進行測試,確保其正確性。
開啟商務程序配置面板,單擊工具列中的
表徵圖。在建立發布包頁面,選中待發布的任務,單擊添加到待發布。
進入右上方的待發布列表,單擊全部打包發布。
在發布包列表頁面查看發行的內容。
在生產環境運行任務
任務發布成功後,單擊右上方的營運中心。
選擇中的相應節點。
按右鍵DAG圖中的start節點,選擇。
選中需要補資料的任務,並選擇業務日期。
單擊提交。
在補資料執行個體頁面,單擊重新整理,直至SQL任務都運行成功即可。
後續步驟
現在,您已經學習了如何建立SQL任務、如何處理未經處理資料。您可以繼續下一個教程,學習如何通過機器學習,載入處理好的資料並構建竊漏電使用者的識別模型。