數(shù)據分層,每個企業(yè)根據自己的業(yè)務需求可以分成不同的層次,但是最基礎的分層思想,理論上數(shù)據分為三個層:數(shù)據運營層、數(shù)據倉庫層、數(shù)據服務層?;谶@個基礎分層之上,再提交信息的層次,來滿足不同的業(yè)務需求。
2.1數(shù)據運營層(ODS)
ODS:Operation Data Store 數(shù)據準備區(qū),也稱為貼源層。數(shù)據倉庫源頭系統(tǒng)的數(shù)據表通常會原封不動的存儲一份,這稱為ODS層,是后續(xù)數(shù)據倉庫加工數(shù)據的來源。
ODS層數(shù)據的來源方式:
業(yè)務庫
經常會使用sqoop來抽取,例如每天定時抽取一次。
實時方面,可以考慮用canal監(jiān)聽mysql的binlog,實時接入即可。
埋點日志
日志一般以文件的形式保存,可以選擇用flume定時同步
可以用spark streaming或者Flink來實時接入
kafka也OK
消息隊列:即來自ActiveMQ、Kafka的數(shù)據等。
2.2數(shù)據倉庫層(DW)
DW數(shù)據分層,由下到上為DWD,DWB,DWS。
DWD:data warehouse details 細節(jié)數(shù)據層,是業(yè)務層與數(shù)據倉庫的隔離層。主要對ODS數(shù)據層做一些數(shù)據清洗和規(guī)范化的操作。
數(shù)據清洗:去除空值、臟數(shù)據、超過極限范圍的
DWB:data warehouse base 數(shù)據基礎層,存儲的是客觀數(shù)據,一般用作中間層,可以認為是大量指標的數(shù)據層。
DWS:data warehouse service 數(shù)據服務層,基于DWB上的基礎數(shù)據,整合匯總成分析某一個主題域的服務數(shù)據層,一般是寬表。用于提供后續(xù)的業(yè)務查詢,OLAP分析,數(shù)據分發(fā)等。
用戶行為,輕度聚合
主要對ODS/DWD層數(shù)據做一些輕度的匯總。
2.3數(shù)據服務層/應用層(ADS)
ADS:applicationData Service應用數(shù)據服務,該層主要是提供數(shù)據產品和數(shù)據分析使用的數(shù)據,一般會存儲在ES、mysql等系統(tǒng)中供線上系統(tǒng)使用。
我們通過說的報表數(shù)據,或者說那種大寬表,一般就放在這里