大資料專案之電商數倉(數倉建模理論篇)(重點)

2021-10-05 22:43:42 字數 1471 閱讀 2878

ods(原始資料層)不做處理,存放原始資料

dwd(明細資料層)進行簡單資料清洗,降維

dws(服務資料層)按天進行輕度彙總(做寬表)

dwt(資料主題層)按主題進行彙總

ads(資料應用層)為報表提供資料

(1)保持資料原貌不做任何修改,起到備份資料的作用。

(2)資料採用lzo壓縮,並建立索引減少磁碟儲存空間(切片)

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

(4)建立外部表(多人共用),內部表(僅自己使用)

dwd 層需構建維度模型,一般採用星型模型,呈現的狀態一般為星座模型。

(1)數倉維度建模(星型模型),使維度退化。好處:減少後續大量join操作

(2)資料清洗(etl)

(3)資料採用lzo壓縮,

(4)parquet列式儲存

(5)脫敏(手機號,身份證號,個人資訊)

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

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

(1)選擇業務過程

在業務系統中,挑選我們感興趣的業務線,比如下單業務,支付業務,退款業務,物流 業務,一條業務線對應一張事實表。

(2)宣告粒度

資料粒度指資料倉儲的資料中儲存資料的細化程度或綜合程度的級別。

宣告粒度意味著精確定義事實表中的一行資料表示什麼,應該盡可能選擇最小粒度,以 此來應各種各樣的需求。

典型的粒度宣告如下:

訂單中,每個商品項作為下單事實表中的一行,粒度為每次下單

每週的訂單次數作為一行,粒度就是每週下單。

每月的訂單次數作為一行,粒度就是每月下單

(3)確定維度

維度的主要作用是描述業務是事實,主要表示的是「誰,何處,何時」等資訊。維度退化

(4)確定事實

此處的「事實」一詞,指的是業務中的度量值,例如訂單金額、下單次數等。

在 dwd 層,以業務過程為建模驅動,基於每個具體業務過程的特點,構建最細粒度的 明細層事實表。事實錶可做適當的寬表化處理。

統計各個主題物件的當天行為,服務於 dwt 層的主題寬表,以及一些業務明細資料, 應對特殊需求(例如,購買行為,統計商品複購率)。

以分析的主題物件為建模驅動,基於上層的應用和產品的指標需求,構建主題物件的全 量寬表

對電商系統各大主題指標分別進行分析

大資料專案之數倉專案(一)數倉搭建

名稱版本 hadoop 3.1.3 flume 1.9.0 kafka 2.11 2.4.1 zookeeper 3.5.7 mysql 5.1.27 sqoop 1.4.6 spark 3.0.0 hive 3.1.2 本專案採用星型維度建模 1 配置sparkonhive 注意配置spark h...

《大資料 (電商數倉專案) 集群各服務啟動指令碼》

1.hadoop 啟動停止指令碼 yx hadoop.sh bin bash hadoop集群的一鍵啟動指令碼 if 1 then echo 請輸入start stop引數 exit fi 只允許傳入start和stop引數 if 1 start 1 stop then 1 dfs.sh 1 yar...

大資料數倉之報表開發

在大資料開發中,主要的資料分析目的可以分為2類。一類是基於歷史資料 就算是實時數倉,接收到資料的時候,其實也已經是歷史資料了 做資料規律或者結果提取 一類是基於歷史資料,訓練模型,做未來資料 或者分類等。如果是前者,基於已有資料做資料規律和資料結果提取,這時候就可以稱之為報表開發。參考神策系統,報表...