DataWorks基於MaxCompute、Hologres、EMR、AnalyticDB、CDP等巨量資料引擎,為資料倉儲、資料湖、湖倉一體等解決方案提供統一的全鏈路巨量資料開發治理平台。本文以DataWorks的部分核心功能為例,指導您使用DataWorks接入資料並進行業務處理、周期調度以及資料視覺效果。
入門簡介
通過本快速入門,您可以快速完成以下操作。
資料同步:通過DataWorks的Data Integration模組,建立離線同步任務,將業務資料同步至巨量資料計算平台(如MaxCompute數倉)。
資料清洗:在DataWorks的資料開發模組中,對業務資料進行處理、分析和挖掘。
資料展示:在DataWorks的資料分析模組中,將分析結果轉化為圖表,便於業務人員理解。
周期性調度:為資料同步和資料清洗流程配置周期性調度,使其定時執行。
前提條件
為確保本教程可以順利進行,推薦使用阿里雲主帳號或具備AliyunDataWorksFullAccess許可權的RAM使用者。具體操作,請參見準備阿里雲帳號(主帳號)或準備RAM使用者(子帳號)。
DataWorks提供了完善的許可權管控機制,支援在產品級與模組層級對許可權進行管控,如果您需要更精細的許可權控制,請參見DataWorks許可權體系功能概述。
準備工作
建立工作空間並綁定資源群組。
本教程以華東2(上海)地區為例,介紹DataWorks快速入門,您需要登入DataWorks管理主控台,切換至華東2(上海)地區,查看該地區是否開通DataWorks。
說明本教程以華東2(上海)為例,在實際使用中,請根據實際業務資料所在位置確定開通地區:
如果您的業務資料位元於阿里雲的其他雲端服務,請選擇與其相同的地區。
如果您的業務在本地,需要通過公網訪問,請選擇與您實際地理位置較近的地區,以降低訪問延遲。
如果未開通,單擊0元組合購買,通過組合購買,一站式完成DataWorks開通、預設空間建立以及資源群組綁定。
如果已開通,則需要手動建立本次教程使用的工作空間、資源群組及資源群組綁定操作。
為資源群組綁定的VPC配置EIP。
本教程使用的電商平台公開測試業務資料需要通過公網擷取,而上一步建立的通用型資源群組預設不具備公網訪問能力,需要為資源群組綁定的VPC配置公網NAT Gateway,添加EIP,使其與公開資料網路打通,從而擷取資料。
操作步驟
本文以如下情境為例,指導您快速體驗DataWorks的相關功能:
假設某一電商平台將商品資訊、訂單資訊儲存在MySQL資料庫中,需要定期對訂單資料進行分析,通過可視化的方式查看每日最暢銷商品類目排名表。
步驟一:資料同步
建立資料來源。
DataWorks通過建立資料來源的方式,接入資料來源和資料去向,因此,本步驟需要分別建立MySQL和MaxCompute兩個資料來源。
MySQL資料來源,用於串連資料來源(儲存業務資料的MySQL資料庫),為本教程提供原始業務資料。
說明您無需準備本教程使用的原始業務資料,為方便測試和學習,DataWorks為您提供測試資料集,相關表資料已儲存在公網MySQL資料庫中,您只需建立MySQL資料來源接入即可。
MaxCompute資料來源,用於串連資料去向(MaxCompute數倉),將MaxCompute資料來源綁定至資料開發後,能夠為本教程提供資料存放區和計算能力。
如果您的專案空間中存在已添加的MaxCompute資料來源,則無需進行此步驟。
如果您的專案空間中沒有添加MaxCompute資料來源,在參考如下步驟建立。
資料開發綁定MaxCompute資料來源。
需要先將MaxCompute資料來源綁定至資料開發,後續才能在資料開發模組中對MaxCompute的資料進行處理。
在左上方單擊
。在左側導覽列單擊資料來源(),找到已建立的MaxCompute資料來源,單擊綁定。
說明如果您的資料開發模組已綁定了MaxCompute資料來源,則無需進行此步驟。
建立虛擬節點,用於統籌管理整個電商平台銷售資料分析的商務程序。該節點為空白跑任務,無須編輯代碼。
在左側導覽列單擊資料開發,找到
,然後右鍵Workflow,選擇 ,自訂節點名稱,本教程以Workshop
為例。建立離線同步任務。
本教程使用的測試資料涉及兩張表(商品資訊源表
item_info
和訂單資訊源表trade_order
),這兩張表格儲存體於MySQL資料來源關聯的MySQL資料庫中,本步驟需要分別建立兩個離線同步節點(節點名稱以ods_item_info
和ods_trade_order
為例),用於將item_info
表和trade_order
表同步至MaxCompute資料來源關聯的MaxCompute數倉中,然後再進行後續資料開發。
步驟二:資料清洗
資料已從MySQL同步至MaxCompute後,獲得兩張資料表(商品資訊表ods_item_info
和訂單資訊表ods_trade_order
),您可以在DataWorks的資料開發模組對錶中資料進行清洗、處理和分析,從而擷取每日最暢銷商品類目排名表。
運行ODPS節點時,會展示費用預估,由於每一個ODPS節點配置的SQL中同時包括CREATE和INSERT語句,INSERT時,表還未建立,因此可能提示預估費用失敗,請忽略此報錯,直接運行即可。
DataWorks提供調度參數,可實現代碼動態入參,您可在SQL代碼中通過
${變數名}
的方式定義代碼中的變數,並在調度配置 > 調度參數處,為該變數賦值。調度參數支援的格式,詳情請參見調度參數支援的格式。本樣本SQL中使用了調度參數${bizdate}
,表示業務日期為前一天。
建立
dim_item_info
節點。基於
ods_item_info
表,處理商品維度資料,產出商品基礎資訊維度資料表dim_item_info
。建立
dwd_trade_order
節點。基於
ods_trade_order
表,對訂單的詳細交易資料進行初步清洗、轉換和商務邏輯處理,產出交易下單明細事實表dwd_trade_order
。建立
dws_daily_category_sales
節點。基於
dwd_trade_order
表和dim_item_info
表,對DWD層經過清洗和標準化的詳細資料進行匯總,產出每日商品類目銷售匯總表dws_daily_category_sales
。建立
ads_top_selling_categories
節點。基於
dws_daily_category_sales
表,產出每日最暢銷商品類目排名表ads_top_selling_categories
。
步驟三:資料展示
您已經將從MySQL中擷取的原始測試資料,經過資料開發處理,匯總於表ads_top_selling_categories
中,現在可查詢表資料,查看資料分析後的結果。
在左上方單擊
。在我的檔案後單擊
,自訂檔案名稱後單擊確定。在SQL查詢頁面,配置如下SQL。
SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};
單擊頂部的運行(),根據頁面提示,在右上方選擇MaxCompute資料來源後單擊確定,然後在費用預估頁面,單擊運行。
在查詢結果中單擊,查看可視化圖表結果,您可以單擊圖表右上方的自訂圖表樣式。
您也可以單擊圖表右上方儲存,將圖表儲存為卡片,然後在左側導覽列單擊卡片()查看。
步驟四:周期性調度
通過完成前文操作步驟,您已經擷取了前一天各類商品的銷售資料,但是,如果需要每天擷取最新的銷售資料,則可以為資料開發中各任務節點配置周期任務,使其周期性定時執行。
為簡化操作,快速入門教程以可視化方式為商務程序配置調度,DataWorks還支援手動精細化配置,各任務節點支援根據SQL自動解析上下遊依賴,調度配置的更多資訊,請參見任務調度配置。
在左上方單擊
。雙擊商務程序Workflow,在畫布中移動各節點位置並按下圖拖拽出各節點的上下遊依賴關係。
單擊右側流程參數,配置參數名稱為
bizdate
,參數值或運算式為$bizdate
,單擊儲存。雙擊虛擬節點(Workshop),配置如下周期調度參數後,單擊頂部的儲存()。
說明其他參數保持預設即可。
切換至Workflow商務程序頁簽,單擊頂部的運行,參數bizdate填寫為前一天(例如今天為20240731,則此處填寫為20240730),測試所有流程是否均能成功運行。
所有節點均能成功運行後,點擊頂部的提交,將流程中所有節點提交至營運中心。
在左上方單擊
。在
中即可看到已建立的周期任務。說明如需展示如下圖的所有上下遊依賴節點,請按右鍵Workshop節點,選擇
。