本文為您介紹如何使用DataWorks中的EMR Hive節點,對同步至OSS的使用者資訊表(ods_user_info_d_emr)及訪問日誌資料表(ods_raw_log_d_emr)中的資料進行加工,進而得到目標使用者畫像資料。
前提條件
開始本案例前,您需完成同步資料中的操作。
一、搭建資料加工鏈路
雙擊開啟您在同步資料中建立的工作流程workshop_emr,進入工作流程編排頁面,繼續添加工作流程節點。
此處需要建立3個EMR Hive節點,依次命名為dwd_log_info_di_emr、dws_user_info_all_di_emr和ads_user_info_1d_emr,並配置如下圖所示的依賴關係。
本教程節點名稱樣本及作用如下:
節點類型 | 節點名稱 | 節點作用 |
| dwd_log_info_di_emr | 用於對原始OSS日誌資料進行清洗,使用內建函數、自訂函數( |
| dws_user_info_all_di_emr | 用於將清洗後的日誌資料和使用者基本資料資料進行匯總,對使用者基本資料表( |
| ads_user_info_1d_emr | 對 |
二、註冊自訂函數
為了後續資料處理任務的順利進行,您需要註冊EMR自訂函數(getregion),將同步資料階段同步至EMR的日誌資料結構拆解成表格。
上傳EMR Jar資源(ip2region.jar)
下載資源JAR包。
建立EMR Jar資源。
進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的,進入Data Studio。
在左側導覽列單擊
,進入資源管理。在資源管理頁面,單擊建立,選擇EMR Jar資源類型,自訂資源名。
進入資源編輯頁配置EMR Jar資源資訊,關鍵參數配置如下:
參數
說明
檔案來源
選擇本地。
檔案內容
點擊上傳下載的資源JAR包
ip2region-emr.jar。儲存路徑
選擇OSS。
選擇準備環境中建立EMR叢集配置的OSS Bucket。
資料來源
選擇您在同步資料中綁定的計算資源。
資源群組
選擇您在準備環境中建立的Serverless資源群組。
單擊儲存,並發布資源至開發、生產環境。
註冊EMR函數(getregion)
建立函數。
右鍵您所建立的EMR Jar資源,選擇,自訂函數名為
getregion,單擊確認進行建立。註冊函數。
進入建立函數配置頁配置EMR Function函數資訊,關鍵參數配置如下:
參數
說明
函數類型
選擇OTHER。
資料來源
選擇您在同步資料中綁定的計算資源。
EMR資料庫
選擇default。
資源群組
選擇您在準備環境中建立的Serverless資源群組。
責任人
您可在此選擇有許可權的責任人。
類名
org.alidata.emr.udf.Ip2Region。資源清單
選擇您建立的EMR Jar資源名稱。
發布函數。
單擊儲存,並發布函數至開發、生產環境。
三、配置EMR節點
資料加工需要將每層加工邏輯通過EMR Hive調度實現,本教程已提供完整的資料加工SQL範例程式碼,您需要依次為dwd_log_info_di_emr、dws_user_info_all_di_emr和ads_user_info_1d_emr節點配置。
四、加工資料
加工資料。
在Workflow畫布頂部工具列中,單擊運行,設定各節點定義的參數變數在本次運行中的取值(本教程使用
20250223,您可以按需修改),單擊確定後,等待運行完成。查詢資料加工結果。
進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的,進入Data Studio。
在Data Studio頁面左側導覽列單擊
按鈕,進入資料開發頁面後,在左側分類樹中選擇專案目錄。按右鍵您所建立的
work目錄,選擇,自訂EMR Hive節點名,單擊確認進行建立。進入EMR Hive節點編輯頁面,將下面指令碼中的業務日期替換為當前業務日期,確認同步資料寫入結果。查看匯入ods_raw_log_d_emr和ods_user_info_d_emr的記錄數。
說明查詢語句中的分區列
dt需要更新為實際的業務日期。例如,任務啟動並執行日期為20250223,則業務日期為20250222,即任務運行日期的前一天。SELECT * FROM ads_user_info_1d_emr WHERE dt=業務日期;上述命令查詢存在資料,即表示資料加工已完成。
如果沒有資料,請確保運行工作流程時,配置的本次運行值與此處查詢時
dt指定的業務日期一致,您可以單擊工作流程,單擊右側的運行歷史,在運行記錄右側操作列單擊查看,然後在工作流程的作業記錄中確認運行工作流程時業務日期的取值(partition=[pt=xxx])。
五、發布工作流程
任務需要發布至生產環境後才可自動調度運行,您可以參考如下步驟,將工作流程發布至生產環境。
本教程已在工作流程調度配置中統一配置了調度參數,發布前無需再為每個節點單獨配置調度參數。
在Data Studio左側導覽列單擊
,然後在專案目錄地區找到已建立好的工作流程,單擊進入工作流程看板。單擊頁面頂部工具列中的發布,開啟發布面板。
單擊開始發布生產,根據發布流程引導,完成發布。
六、在生產環境運行任務
任務發布後,在次日才會產生執行個體運行,您可以通過補資料來對發行流程進行補資料操作,以便查看任務在生產環境是否可以運行,詳情可參見補資料執行個體營運。
任務發布成功後,單擊右上方的營運中心。
您也可以單擊左上方的
表徵圖,選擇。單擊左側導覽列中的,進入周期任務頁面,單擊
workshop_start_emr虛節點。在右側的DAG圖中,按右鍵
workshop_start_emr節點,選擇。勾選需要補資料的任務,設定業務日期,單擊提交並跳轉。
在補資料頁面單擊重新整理,直至任務全部運行成功即可。
表徵圖儲存任務節點。