通過本教程,您可以了解如何使用DataWorks和MaxCompute產品組合進行數倉開發與分析,并通過案例體驗DataWorks數據集成、數據開發和運維中心模塊的相關能力。
注意事項
請確保操作賬號擁有開通購買權限。阿里云主賬號默認擁有該權限,若使用RAM子賬號操作,請聯系阿里云主賬號前往RAM控制臺,為RAM用戶授權AliyunDataWorksFullAccess和AliyunBSSOrderAccess權限。具體操作,請參見為RAM用戶授權。
環境準備
以下步驟為使用DataWorks和MaxCompute產品組合進行數倉開發的環境準備通用步驟。
步驟一:服務開通
本教程以華東2(上海)地域為例進行演示,請根據您華東2(上海)地域的服務開通情況,進行環境準備操作。
未開通DataWorks服務
請參考以下操作在華東2(上海)地域開通DataWorks版本服務、開通MaxCompute產品服務,并準備DataWorks任務調度和服務運行使用的Serverless資源組。
進入服務開通頁。
進入阿里云DataWorks官網,單擊立即開通,即可進入DataWorks服務開通頁。
開通服務。
請根據下圖指引選擇服務,并根據界面提示配置相關參數后,點擊確認訂單并支付,完成后續服務開通。
本案例選擇開通(0元/月)DataWorks基礎版服務,涵蓋基本的數據集成、數據開發、調度能力,您也可根據業務實際需要的產品能力自行選擇。
在選擇DataWorks資源組時,您需要為資源組綁定可連通的專有網絡,綁定后,DataWorks資源組默認可訪問您指定專有網絡下的云服務。您可自定義該資源組名稱。本案例資源組命名為
Serverless_Resource_Group
。
確認資源。
說明首次開通DataWorks服務,系統將會自動創建DataWorks默認工作空間和資源組,由于DataWorks默認工作空間為簡單模式,而本教程需要使用標準模式的工作空間,因此,只需要確認資源組創建成功即可。
進入DataWorks資源組列表,在頁面頂部切換地域為華東2(上海),確認已創建資源組。
已開通DataWorks服務
若您在華東2(上海)地域已開通過任意版本DataWorks服務,則只需創建資源組即可。
進入DataWorks資源組列表,在頁面頂部切換地域為華東2(上海),單擊新建資源組。
請根據下圖指引購買資源組,并根據界面提示配置相關參數后,單擊立即購買,完成后續資源組購買。
說明本教程資源組名稱以
Serverless_Resource_Group
為例,您可以自定義。如果沒有專有網絡(VPC)和交換機(V-Switch),請根據頁面提示前往專有網絡VPC控制臺創建。VPC和交換機的更多信息,請參見什么是專有網絡。
首次購買資源組需要創建DataWorks服務關聯角色。
確認資源。
進入DataWorks資源組列表,在頁面頂部切換地域為華東2(上海),確認已創建資源組。
步驟二:為資源組開通公網
DataWorks已提供本案例涉及的原始數據供您體驗,并提供其公網訪問地址。若要在DataWorks訪問該原始測試數據并確保本次實驗可順利開展,您需要確保您的DataWorks資源組已具備公網訪問能力。
步驟一創建的通用型Serverless資源組默認不具備公網訪問能力,您需要通過公網NAT網關添加EIP的方式,為資源組綁定的VPC,使該資源組獲得公網訪問能力,具體操作參考下文。
登錄專有網絡-公網NAT網關控制臺,在頂部菜單欄切換至華東2(上海)地域。
單擊創建NAT網關,配置相關參數。
參數
取值
所屬地域
華東2(上海)。
所屬專有網絡
選擇資源組綁定的VPC和交換機。
您可以前往DataWorks資源組列表,切換地域后,找到步驟一已創建的資源組,然后單擊操作列的網絡設置,在數據調度 & 數據集成區域查看DataWorks資源組的綁定專有網絡和交換機參數。VPC和交換機的更多信息,請參見什么是專有網絡。
關聯交換機
訪問模式
VPC全通模式(SNAT)。
彈性公網IP
新購彈性公網IP。
關聯角色創建
首次創建公網NAT網關時,需要創建服務關聯角色,請單擊創建關聯角色。
說明上表中未說明的參數保持默認值即可。
單擊立即購買,勾選服務協議后,單擊確認訂單,完成購買。
步驟三:創建工作空間
工作空間是DataWorks中進行任務開發和成員權限管理、協同開發的基本單元,DataWorks所有開發工作都將在工作空間內進行,請參考以下內容準備DataWorks工作空間,為本案例提供基本開發環境。
步驟四:創建并綁定MaxCompute數據源
在DataWorks數據開發中新建MaxCompute項目,并將其綁定至數據開發模塊作為數據開發計算和存儲的引擎服務,為本教程提供計算和存儲能力。
創建MaxCompute空間
在DataWorks工作空間內綁定MaxCompute數據源前,需創建MaxCompute項目。
登錄MaxCompute控制臺,在左上角選擇地域。
在左側導航欄選擇工作區 > 項目管理,并單擊新建項目。
在新增項目對話框,根據界面提示文案配置項目信息后,單擊確定。
其中需重點關注的配置參數如下,其他參數可參考界面提示文案進行配置。關于參數詳情,您也可參見項目管理。
參數
描述
計算資源付費類型與默認Quota
您可根據已購買的MaxCompute的資源情況選擇使用哪種。
包年包月
如果您已購買了包年包月的MaxCompute資源,您可將資源做好Quota規劃,為本項目選擇后續作業運行需要使用的包年包月資源Quota。Quota規劃與管理請參見計算資源-Quota管理。
按量付費
MaxCompute開通時默認購買的為按量計費標準版的MaxCompute,如果您沒有購買其他MaxCompute資源,可選擇按量付費,并選擇默認后付費Quota。
創建成功后,即可在左側導航欄的工作區 > 項目管理中查看新創建的MaxCompute項目。
前往MaxCompute數據源綁定頁。
您可以通過多種方式進行MaxCompute數據源綁定:
工作空間列表頁
您可以從工作空間列表頁如下位置創建并綁定MaxCompute數據源。
單擊工作空間操作列的
。在數據源頁面,單擊新建數據源,然后選擇MaxCompute。
數據開發模塊
您還可以直接進入DataWorks數據開發中,手動創建并綁定MaxCompute數據源。
單擊工作空間操作列的
。在左側導航欄單擊數據源(),然后在數據源頁面,單擊新建數據源,選擇MaxCompute。
請根據下圖指引創建并綁定MaxCompute數據源。
關鍵參數說明:
本教程數據源名稱以
MaxCompute_Source
為例,您可以自定義。所屬云賬號:配置為當前阿里云主賬號。
地域:選擇與當前DataWorks空間一致的地域華東2(上海)地域。
MaxCompute項目名稱:選擇華東2(上海)地域下已創建的MaxCompute項目。
重要MaxCompute項目名稱全網唯一,不允許重名,請勿與本教程完全一致,您可以自定義項目名稱或添加唯一標識作為后綴,避免因命名沖突而報錯。
默認訪問身份:開發環境默認為執行者,生產環境可根據當前登錄賬號進行下拉選擇。
如您當前登錄的為主賬號或RAM管理員賬號:可以選擇所有身份。
如您當前登錄的為子賬號/RAM角色:
是該項目的Super_Administrator或Admin角色:可以選擇所有身份。
不是該項目的Super_Administrator或Admin角色:僅能選擇自己的身份。
Endpoint:選擇自動適配。
單擊新建數據源并綁定數據開發。
根據頁面提示,刷新數據開發數據源頁面后,即可看到已創建并綁定的MaxCompute數據源。
任務開發
本教程以網站用戶畫像分析為例,為您介紹如何通過DataWorks和MaxCompute產品組合實現具體業務開發與周期調度。
步驟一:流程設計
網站用戶行為分析案例通過DataWorks數據集成模塊的離線同步能力,將業務數據同步至MaxCompute,然后通過DataWorks數據開發(DataStudio)模塊的ODPS SQL,完成用戶畫像的數據加工,最終將加工結果寫入ads_user_info_1d表。業務數據包括:
存儲于MySQL中的用戶基本信息(ods_user_info_d),平臺默認提供,無需開通,將訪問信息以添加數據源的方式配置到您的空間即可在您空間下訪問這份數據。
存儲于OSS中的網站訪問日志數據(user_log.txt),平臺默認提供,無需開通,將訪問信息以添加數據源的方式配置到您的空間即可在您空間下訪問這份數據。
步驟二:任務開發
基于步驟一:流程設計,在DataWorks完成工作流的任務開發。DataWorks已提供本教程的相關代碼,您可參考以下操作通過一鍵導入快速體驗該案例。后續您也可參考用戶畫像分析(MaxCompute版)逐步實操進行體驗。
進入ETL工作流模板頁面。
進入ETL工作流模板,找到網站用戶行為分析模板,單擊查看詳情。
載入模板。
在模板詳情頁,單擊載入模板。然后根據下圖指引完成模板載入。
關鍵參數說明:
確認載入結果。
在載入模板頁面,單擊確認后將自動開始載入,您可以在頁面彈窗中查看導入進度,所有內容導入完成后,您可以單擊前往查看。
說明關閉導入進度窗口,不會影響模板的導入,您可以單擊工作空間操作列的
前往數據開發模塊查看導入的模板內容。查看案例介紹。
在數據開發的業務流程下,雙擊
體驗案例1_用戶行為分析
,打開業務流程畫布。您可以雙擊畫布中業務流程的第一個節點(),查看該業務流程的案例背景和各節點加工邏輯說明等。
說明在首次業務流程執行成功前,打開離線同步任務節點()會因同步目標MaxCompute表不存在而報錯,您可以先手動運行上游節點(
table_ddl_ods_raw_log_d
和table_ddl_ods_user_info_d
),創建目標表后,再查看離線同步詳情。如果業務流程畫布中顯示效果與下圖不一致,可單擊畫布中的進行格式化。
步驟三:任務運行
任務開發完成后,可通過以下方式確認代碼及流程是否符合預期。
運行用戶畫像業務流程。
導入的案例為完整案例,您可以在業務流程畫布中,單擊運行按鈕運行整個業務流程。
查看業務流程運行過程。
請耐心等待2~3分鐘,確保所有任務節點均運行成功(如下圖所示)后,再進行后續步驟。
確認用戶畫像數據。
單獨運行最后一個任務節點,即可查看最終產出的用戶畫像數據。
在業務流程畫布中,雙擊業務流程中最后一個節點
用戶行為分析結果查詢
,進入節點詳情頁面,并按照圖示說明,單獨運行代碼,查詢ads_user_info_1d
表,獲取最終的用戶畫像數據。說明DataWorks提供調度參數,可實現代碼動態入參,您可在SQL代碼中通過
${變量名}
的方式定義代碼中的變量,并在調度配置>調度參數處,為該變量賦值。調度參數支持的格式,詳情請參見調度參數支持的格式。本案例的SQL中使用了調度參數${bizdate}
,表示業務日期為前一天。若查詢的分區沒有數據或報錯分區不存在,請再次執行業務流程,并通過日志查看代碼中的
${bizdate}
替換情況,明確數據最終寫入的分區。
運行結果示例:
任務運維
步驟一:任務發布至生產環境
待數據開發(DataStudio)中用戶畫像分析業務流程運行無誤后,您可以參考如下步驟,通過提交、發布流程,將任務發布至生產調度系統進行周期性自動調度運行。
如果您在導入時未勾選自動發布,請手動將任務發布至生產環境。
步驟二:查看生產調度任務
任務發布后,您可在運維中心>周期任務頁面查看空間下所有周期性調度的任務,并在此對周期任務執行相關運維操作。
在左上角單擊
。在左側導航欄單擊
,您可以查看空間下所有處于調度系統中的任務,通常,這些任務都將按照調度配置情況自動調度。您可以參考圖示位置確認生產環境任務狀態,包括但不限于:生產任務依賴關系:單擊用戶行為分析案例說明任務名稱,進入DAG面板,右鍵
,快速查看任務的上下游依賴關系。生產任務詳情:雙擊DAG圖任意節點可快速展開節點屬性面板,您可以在此查看節點的基本信息、節點責任人、執行時間、操作日志以及調度運行的代碼等。
如果該界面未找到任務,請參考步驟一:任務發布至生產環境手動執行任務發布操作。
步驟三:補數據回刷去年同期數據
補數據可通過補歷史或未來一段時間的數據,將寫入數據至對應時間分區,可實現指定業務日期的數據處理,主要用于歷史數據回刷。
本教程通過補數據功能將業務庫去年同期的數據回刷至MaxCompute,并在MaxCompute完成歷史同期的用戶畫像數據加工。
在周期任務列表找到用戶行為分析案例說明節點,右鍵選擇
。在補數據頁面配置相關參數。
關鍵參數說明:
補數據包含當前任務:配置為是。
選擇下游節點:全選下游節點。
業務日期:配置為去年的同期業務日期。
單擊提交并跳轉,查看補數據任務是否成功。
DataWorks通過實例的方式運行離線調度任務,對任務執行補數據操作后,您可查看實例詳情確認補數據任務執行情況。
您可以單擊某個任務節點,然后單擊查看日志。
確認數據寫入的MaxCompute表及分區。
后續:查看任務周期調度情況
周期任務列表中的任務將通過實例的方式運行,周期任務自動調度將生成周期實例,調度周期不同,每日生成的實例個數不同。后續任務正常調度后,您可以在左側導航欄單擊
,查看單個實例的運行情況。小時任務定義
00:00~23:59
之間,每小時調度一次,那么在周期實例界面每天將生成24個小時實例,每個實例有自己的實例ID作為唯一標識,同一個任務產生的所有實例的任務ID(節點ID)相同。若周期調度任務運行異常,可查看實例日志快速定位異常原因。
任務查詢
待補數據實例運行完成后,請前往數據開發(DataStudio),創建臨時查詢節點,獲取用戶畫像分析業務流程通過補數據產出的去年同期的分區數據。
在左上角單擊
。創建臨時查詢節點。
在臨時查詢節點中,查詢生產表
ads_user_info_1d
去年同期的數據。select * from <生產項目名稱>.ads_user_info_1d where dt = '<生產表實際被寫入的分區>';
本教程中,DataWorks生產環境綁定的MaxCompute項目名為
user_profile_mc_pro
,補數據業務日期為20230829
。說明如何查看DataWorks空間生產環境綁定的MaxCompute項目,請參見步驟四:創建并綁定MaxCompute數據源。
DataWorks默認RAM用戶無權限訪問生產項目下的表數據,若您查詢生產表數據報錯無權限,需要前往安全中心申請,詳情請參見:MaxCompute數據訪問權限控制。
資源釋放
為避免后續產生費用,您可參考本節將本教程創建的資源釋放。
停止周期任務自動調度。
進入運維中心頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入運維中心。
在
中,勾選所有之前創建的周期任務,然后在底部單擊暫停(凍結)。(可選)如果您不再需要本教程的調度任務,可以單擊
。
刪除公網NAT網關并釋放彈性公網IP。
說明公網NAT網關和彈性公網IP不使用也會收取配置費用(計費詳情請參見公網NAT網關計費、彈性公網IP計費),建議不再使用時及時刪除,如后續還需運行本教程的業務流程或執行調度,可再次為資源組綁定的VPC配置NAT網關和彈性公網IP,具體操作請參見步驟二:為資源組開通公網。
登錄專有網絡-公網NAT網關控制臺,在頂部菜單欄切換至華東2(上海)地域。
找到已創建的公網NAT網關,單擊操作列的
,在確認窗口中,選中強制刪除,然后單擊確定。在左側導航欄單擊
,找到已創建的彈性公網IP,單擊操作列的 ,在確認窗口中,單擊確定。