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