數倉分層:
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層,將原始資料進行清洗,篩選後的資料,把其中的明細開啟 例如 啟動日...