全部產品
Search
文件中心

DataWorks:需求分析

更新時間:Jun 26, 2024

為保證您可以順利完成本次實驗,請先瞭解實驗業務背景並完成準備工作。

注意事項

  • 本實驗提供教程所需使用者資訊資料與網站訪問測試資料,您可直接使用。

  • 本實驗提供資料僅作為阿里雲巨量資料開發治理平台DataWorks資料應用實操使用,所有資料均為人工Mock資料。

  • 本實驗中,資料同步和資料加工部分的任務可以通過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

星座

步驟三:資料流與工作流程設計

image.png

  1. 根據規範設計表名

    參考規範設計表名。本案例設計5張表。

    • 使用者基本資料表:ods_user_info_d

    • 網站訪問日誌未經處理資料表:ods_raw_log_d

    • 網站訪問日誌明細表:dwd_log_info_di

    • 使用者網站訪問資訊寬表:dws_user_info_all_di

    • 使用者畫像資料:ads_user_info_1d

  2. 根據規範設計資料流

    本實驗使用Data Integration離線同步任務將使用者資訊資料與使用者網站訪問記錄資料分別同步至MaxCompute各表,並通過ODPS SQL任務,基於MaxCompute計算引擎進行逐級加工處理,產出最終目標使用者畫像資料,具體邏輯參見圖示。

  3. 根據規範設計節點名

    為更好地定位節點與產出表,當前實驗將節點產出表預設作為節點名,建議實際開發時也保持該規範。

  4. 根據規範設計工作流程(即商務程序):

    • 基於資料流設計工作流程: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_dods_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資料分析對使用者畫像資料進行可視化與分析展示。包括:

  • 城市註冊人數熱門排行榜分析

  • 註冊會員訪問次數年齡分布

  • 註冊會員訪問次數性別分布

  • 男女星座訪問次數分布