107
魔獸
依托MaxCompute構建零售快消品行業數據倉庫
利用MaxCompute,五葉草為某世界500強快消品零售巨頭搭建了企業級數據倉庫。由於部分子係統未打通、業務邏輯繁雜,客戶的業務分析工作主要在線下人工完成,分析時間長、統計口徑不一、數據質量參差不齊。在將數據存儲在MaxCompute後,依托其強大的海量數據處理能力,原先需要花數小時更新的報表隻在10分鍾左右即可完成,有效降低了時間人力成本,提升了工作效率,使客戶可以將更多的精力投入到業務升級中去。
在MaxCompute中我們定義了如下的各層數據模型:
1. 數據接口層
數據接口層的數據結構應該對應源係統。應當注意的是同步的源數據要避免使用視圖,在客戶的生產環境上曾經出現過這樣的情況:由於存儲過程優化不好,同步視圖在同步任務發起後仍然沒有生成出來,導致同步任務及後續的ETL掛起。所以後續通過客戶和第三方接洽,將數據源從視圖換為表。
2. 基礎數據層
所有清洗、整合、運算工作應當放在基礎數據層,避免對同步表裏數據進行操作。以增量更新基礎表為例,通過使用下麵的方法,我們實現了每天增量更新數據到全量基礎表的新分區,當天增量與昨天全量合並,數據存在衝突時優先保留增量記錄
其中dwd_dummy_data為全量基礎表,存放昨天的全量數據;ods_dummy_data為增量同步表,存放今天的增量數據。
由於數據更新之後插入了新分區,保留的基礎表原始數據就為後麵數據比對提供了極大的便利。客戶部分數據源是由其他第三方維護的,出現過本月客戶及該第三方協商對上月數據進行了修改,但是沒有將該操作告知我們,最終導致上月月報結果與客戶BI部門統計有出入。通過與客戶提供的數據比對,我們發現了原始數據不一致的地方,我們在測試環境中對曆史數據複現了相同的操作,並重跑了之後的任務,最終上月月報結果與客戶BI部門結果一致。
3. 多維數據層、數據應用層
在基礎數據層,通過清洗、整合、運算得到的表為基本的維度表、事實表。需要麵向業務,計算出業務指標後生成一張多維度表,並最終展現給客戶。根據進銷存、人貨場財等分析思路,可以沿著某一方向深挖下去,下麵展示了幾張從人、場、貨三個方向可以分析得出的多維度表,以及所需的基礎數據。我們也在打通更多的數據通路
最後更新:2017-08-13 22:40:49