為保證您可以順利完成本次實驗,請先瞭解實驗業務背景並完成準備工作。
注意事項
本實驗提供教程所需使用者資訊資料與網站訪問測試資料,您可直接使用。
本實驗提供資料僅作為阿里雲巨量資料開發治理平台DataWorks資料應用實操使用,所有資料均為人工Mock資料。
本實驗中,資料同步和資料加工部分的任務可以通過ETL工作流程範本一鍵匯入。在匯入模板後,您可以前往目標空間進行操作,並自行完成後續的資料品質監控和資料視覺效果操作。
僅空間管理員角色可匯入ETL模板至目標工作空間,為帳號授權空間管理員角色詳情請參見空間級模組許可權管控。
匯入ETL工作流程範本,詳情請參見匯入ETL工作流程範本。
ETL工作流程範本快捷入口,請點擊網站使用者行為分析。
業務背景
為了更好的制定企業經營策略,現需要從使用者網站行為中擷取網站使用者群體基本畫像資料,例如,使用者群體地理屬性、社會屬性等,實現定時定點進行Portrait analysis,進而實現網站流量精細化營運操作。
步驟一:瞭解已有業務資料
實際操作前,請先瞭解該專案背景下企業已有的業務資料及其資料格式,以及業務背景分析需要的目標使用者畫像基本結構。
OSS原始日誌資料分析(user_log.txt)
以下為OSS中儲存的user_log.txt檔案未經處理資料。
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent"$http_referer" "$http_user_agent" [unknown_content];
可根據原始日誌資料擷取到如下有效資訊。
欄位名稱 | 欄位說明 |
$remote_addr | 發送請求的用戶端IP地址。 |
$remote_user | 用戶端登入名稱。 |
$time_local | 伺服器本地時間。 |
$request | 請求,包括HTTP請求類型+請求URL+HTTP協議版本號碼。 |
$status | 服務端返回狀態代碼。 |
$body_bytes_sent | 返回給用戶端的位元組數(不含header)。 |
$http_referer | 該請求的來源URL。 |
$http_user_agent | 發送請求的用戶端資訊,如使用的瀏覽器等。 |
MySQL使用者資訊資料結構(ods_user_info_d)
欄位名稱 | 欄位說明 |
uid | 使用者名稱 |
gender | 性別 |
age_range | 年齡分段 |
zodiac | 星座 |
步驟二:分析產出目標使用者畫像資料結構
根據未經處理資料分析可獲得的有效資料,並基於業務需求確認最終資料表結構。
欄位名稱 | 欄位說明 |
uid | 使用者名稱 |
region | 地區 |
device | 終端類型 |
pv | 瀏覽量 |
gender | 性別 |
age_range | 年齡分段 |
Zodiac | 星座 |
步驟三:資料流與工作流程設計
根據規範設計表名:
參考規範設計表名。本案例設計5張表。
使用者基本資料表:ods_user_info_d
網站訪問日誌未經處理資料表:ods_raw_log_d
網站訪問日誌明細表:dwd_log_info_di
使用者網站訪問資訊寬表:dws_user_info_all_di
使用者畫像資料:ads_user_info_1d
根據規範設計資料流:
本實驗使用Data Integration離線同步任務將使用者資訊資料與使用者網站訪問記錄資料分別同步至MaxCompute各表,並通過ODPS SQL任務,基於MaxCompute計算引擎進行逐級加工處理,產出最終目標使用者畫像資料,具體邏輯參見圖示。
根據規範設計節點名:
為更好地定位節點與產出表,當前實驗將節點產出表預設作為節點名,建議實際開發時也保持該規範。
根據規範設計工作流程(即商務程序):
基於資料流設計工作流程:DataWorks上任務上下遊關係遵循節點名與表名一一對應原則,基於資料流設計工作流程。節點命名規範詳情請參見:配置同周期調度依賴。
新增商務程序管理設計:由於OSS同步任務(ods_raw_log_d)與MySQL同步任務(ods_user_info_d)為原始業務資料寫入數倉,數倉側均沒有實際血緣依賴,且兩個任務間沒有統一的根節點,所以需要新增虛擬節點workshop_start用於統籌管理該使用者Portrait analysis商務程序。
本案例中,通過將虛擬節點workshop_start的定時時間設定為每日00:15執行,實現整個使用者Portrait analysis每日00:15開始調度執行的需求。
當前案例基於DataWorks上遊執行完成才會觸發下遊執行的背景,以及虛擬節點執行時,系統直接返回成功,不會真正執行的特性,將虛擬節點workshop_start作為同步任務ods_raw_log_d和ods_user_info_d的上遊節點,從而達到虛擬節點workshop_start統籌管理整個使用者Portrait analysis商務程序的目的。
步驟四:匯總需求
階段 | 操作對象 | 說明 |
資料同步階段 | ods_user_info_d | 將MySQL中的使用者資料ods_user_info_d同步至MaxCompute的ods_user_info_d表。 |
ods_raw_log_d | 將OSS中的網站訪問日誌user_log.txt同步至MaxCompute的ods_raw_log_d表。 | |
資料加工階段 | dwd_log_info_di | 通過函數正則等方式對MaxCompute日誌資料的表ods_raw_log_d進行加工,拆解為可分析欄位(例如根據IP擷取地區資訊),寫入dwd_log_info_di表中。 |
dws_user_info_all_di | 通過將使用者基本資料ods_user_info_d和初步加工後的日誌資料dwd_log_info_di進行匯總產出使用者資訊寬表 dws_user_info_all_di。 | |
ads_user_info_1d | 通過對使用者資訊寬表dws_user_info_all_di進一步加工產出目標使用者畫像資料。 | |
資料品質監控階段 | ods_raw_log_d | 對每日同步的原始日誌資料進行錶行數非0監控,避免後續無效加工,及時止損。 |
ods_user_info_d | 對每日同步的使用者資訊資料進行錶行數非0校正(強規則)和業務主鍵唯一性校正(弱規則),避免後續無效加工,及時止損。 | |
ads_user_info_1d | 對每日使用者資料進行錶行數波動監測(弱規則)及業務主鍵唯一性校正(強規則),以此觀察每日UV的波動,以便及時瞭解應用動態。 | |
資料視覺效果階段 | ads_user_info_1d | 通過DataWorks資料分析對使用者畫像資料進行可視化與分析展示。包括:
|