天天看點

Hive數倉

ODS(Operational Data Store):資料營運層 

“面向主題的”資料營運層,也叫ODS層,是最接近資料源中資料的一層,資料源中的資料,經過抽取、洗淨、傳輸,也就說傳說中的 ETL 之後,裝入本層。本層的資料,總體上大多是按照源頭業務系統的分類方式而分類的。

一般來講,為了考慮後續可能需要追溯資料問題,是以對于這一層就不建議做過多的資料清洗工作,原封不動地接入原始資料即可,至于資料的去噪、去重、異常值處理等過程可以放在後面的DWD層來做。

DW(Data Warehouse):資料倉庫層

資料倉庫層是我們在做資料倉庫時要核心設計的一層,在這裡,從 ODS 層中獲得的資料按照主題建立各種資料模型。DW層又細分為 DWD(Data Warehouse Detail)層、DWM(Data WareHouse Middle)層和DWS(Data Warehouse Service)層。

DWD(Data Warehouse Detail):資料明細層

​ 該層一般保持和ODS層一樣的資料粒度,并且提供一定的資料品質保證。同時,為了提高資料明細層的易用性,該層會采用一些次元退化手法,将次元退化至事實表中,減少事實表和維表的關聯。

​ 另外,在該層也會做一部分的資料聚合,将相同主題的資料彙集到一張表中,提高資料的可用性。

DWM(Data Warehouse Middle):資料中間層

​ 該層會在DWD層的資料基礎上,對資料做輕度的聚合操作,生成一系列的中間表,提升公共名額的複用性,減少重複加工。直覺來講,就是對通用的核心次元進行聚合操作,算出相應的統計名額。

DWS(Data Warehouse Service):資料服務層

​ 又稱資料集市或寬表。按照業務劃分,如流量、訂單、使用者等,生成字段比較多的寬表,用于提供後續的業務查詢,OLAP分析,資料分發等。

​ 一般來講,該層的資料表會相對比較少,一張表會涵蓋比較多的業務内容,由于其字段較多,是以一般也會稱該層的表為寬表。在實際計算中,如果直接從DWD或者ODS計算出寬表的統計名額,會存在計算量太大并且次元太少的問題,是以一般的做法是,在DWM層先計算出多個小的中間表,然後再拼接成一張DWS的寬表。由于寬和窄的界限不易界定,也可以去掉DWM這一層,隻留DWS層,将所有的資料在放在DWS亦可。

ADS/APP/DM(Application Data Store/Application/DataMarket):資料應用層/資料集市

​ 在這裡,主要是提供給資料産品和資料分析使用的資料,一般會存放在 ES、PostgreSql、Redis等系統中供線上系統使用,也可能會存在 Hive 或者 Druid 中供資料分析和資料挖掘使用。比如我們經常說的報表資料,一般就放在這裡。

DIM(Dimension):維表層

維表層主要包含兩部分資料:

* 高基數次元資料:一般是使用者資料表、商品資料表類似的資料表。資料量可能是千萬級或者上億級别。

* 低基數次元資料:一般是配置表,比如枚舉值對應的中文含義,或者日期維表。資料量可能是個位數或者幾千幾萬。

旅遊集市

繼續閱讀