數倉分層總結

2021-10-08 15:23:49 字數 1675 閱讀 6606

數倉分層:

ods層

(1)保持教據原貌不做任何修改,備份

(2)建立分割槽表,防止後續的全表掃瞄

(3)採用lzo壓縮,並建立索引(切片)

(4)建立外部表(多人共用)`內部表(自己使用的臨時表)

dwd層

(1)數倉維度建模(星型模型)=》維度退化

商品表+品類表+spu表+**分類+二級分類+一級分類=》商品表

省份+地區表=》地區表―活動表+活動規則表=》活動表

好處:減少後續大量join操作。

(2)資料清洗(etl)專門的崗位,hive sql 、mr、python、kettle、sparksql

(3)採用lzo壓縮

(4)parquet列式儲存

(5)脫敏(手機號、身份證號、個人)

(6)對使用者行為資料,進行解析event事件表(10張表,解析)

dws層

每天各個主題的行為資料,會站在維度的角度去分析

使用者、商品、優惠卷主題

ads層

從開始建立,一直到現在的累積資料

為什麼數倉分層?

減少重複操作

方便問題定位

隔離原始資料

資料集市和數倉概念

資料集市針對部門級,資料少—些

敬倉針對的是公司級,敬據多

三正規化:

(1)多屬性不可切割 5臺電腦

(2)不存在部分函式依賴 ab=》c a或者b=》c猜分

(3)不存在傳遞函式依賴 a=》b=》c 但是c推不出a

oltp 和olap

(1)oltp mysql

(2)olap hive . spark

維度建模:

星型模型:事實表周圍一級維度

雪花模型:事實表周圍多級維度

星座模型:多個事實表,共用維度

維度建模一般按照以下四個步驟:選擇業務過程→宣告粒度→確認維度→確認事實

選擇業務過程

述擇感興翻:下單、支付、退款、活動

全部業務線(前提:時間允許)**、天貓、支付寶妳先做**、後續逐漸做

宣告粒度

一行代表資訊:一條訂單、一天的訂單、一周的訂單

選擇最小粒度

確認維度

維度退化:誰 什麼時間 什麼地點

確認事實

度量值個數、件數、金額

dws、dwt主題寬表 在維度的視覺看待業務過程

ads出報表

數倉分層設計

介紹資料分層的作用 提出一種通用的資料分層設計,以及分層設計的原則 舉出具體的例子說明 提出可落地的實踐意見 0x01 資料分層?為什麼要設計資料分層?這應該是資料倉儲同學在設計資料分層時首先要被挑戰的問題,類似的問題可能會有很多,比如說 為什麼要做資料倉儲?為什麼要做元資料管理?為什麼要做資料質量...

數倉分層概念

把複雜問題簡單化 將乙個複雜的任務分解成多個步驟來完成,每一層只處理單一的步驟,比較簡單和容易理解。清晰資料結構 每乙個資料分層都有它的作用域,這樣我們在使用表的時候能更方便地定位和理解。便於維護資料的準確性,當資料出現問題之後,可以不用修復所有的資料,只需要從有問題的步驟開始修復。減少重複開發 規...

數倉的分層

一 數倉為什麼要分層?1 分層解耦,可以讓開發思路更加清晰,複雜問題簡單化 出錯時,可以精確定位資料 2 節省重複開發 3 脫敏 二 數倉的分層 以5層數倉為例 ods層 原始資料層,原始資料原封不動的直接匯入!dwd層 基於ods層,將原始資料進行清洗,篩選後的資料,把其中的明細開啟 例如 啟動日...