Hive開發要知道數據倉庫的四個層次設計

數據倉庫:數據倉庫全面接收源系統數據,ETL進程對數據進行規範化、驗證、清洗,並最終裝載進入數據集市,通過數據集市支持系統進行數據查詢、分析,整個數據倉庫包含四大層次。

1.數據倉庫的四個操作

ETL(extractiontransformation loading)負責將分散的、異構數據源中的數據抽取到臨時中間層後進行清洗、轉換、集成,最後加載到數據倉庫或數據集市中。ETL 是實施數據倉庫的核心和靈魂,ETL規則的設計和實施約佔整個數據倉庫搭建工作量的 60%~80%.
1.數據抽取(extraction) 包括初始化數據裝載和數據刷新:初始化數據裝載主要關注的是如何建立維表、事實表,並把相應的數據放到這些數據表中;而數據刷新關注的是當源數據發生變化時如何對數據倉庫中的相應數據進行追加和更新等維護(比如可以創建定時任務,或者觸發器的形式進行數據的定時刷新)。
2. 數據清洗主要是針對源數據庫中出現的二義性、重複、不完整、違反業務或邏輯規則等問題的數據進行統一的處理。即清洗掉不符合業務或者沒用的的數據。比如通過編寫hive或者MR清洗字段中長度不符合要求的數據。
3.數據轉換(transformation) 主要是爲了將數據清洗後的數據轉換成數據倉庫所需要的數據:來源於不同源系統的同一數據字段的數據字典或者數據格式可能不一樣(比如A表中叫id,B表中叫ids),在數據倉庫中需要給它們提供統一的數據字典和格式,對數據內容進行歸一化;另一方面,數據倉庫所需要的某些字段的內容可能是源系統所不具備的,而是需要根據源系統中多個字段的內容共同確定。
4. 數據加載(loading) 是將最後上面處理完的數據導入到對應的存儲空間裏(mysql等)以方便給數據集市提供,進而可視化。

一般大公司爲了數據安全和操作方便,都是自己封裝的數據平臺和任務調度平臺,底層封裝了大數據集羣比如hadoop集羣,spark集羣,sqoop,hive,zookeepr,hbase等只提供web界面,並且對於不同員工加以不同權限,然後對集羣進行不同的操作和調用。以數據倉庫爲例,將數據倉庫分爲邏輯上的幾個層次。這樣對於不同層次的數據操作,創建不同層次的任務,可以放到不同層次的任務流中進行執行(大公司一個集羣通常每天的定時任務有幾千個等待執行,甚至上萬個,所以劃分不同層次的任務流,不同層次的任務放到對應的任務流中進行執行,會更加方便管理和維護)。

2.數據倉庫的四個邏輯架構層次

數據倉庫標準上可以分爲四層。但是注意這種劃分和命名不是唯一的,一般數倉都是四層,但是不同公司可能叫法不同。比如這裏的臨時層叫複製層SSA,京東則叫BDM。同樣阿里巴巴卻是五層數倉結構,更加詳細,但是核心的理念都是從四層數據模型而來。如下分別展示京東和阿里巴巴數倉的架構層次和命名。
在這裏插入圖片描述
在這裏插入圖片描述

1. 複製層(SSA,system-of-records-staging-area)

SSA 直接複製源系統(比如從mysql中讀取所有數據導入到hive中的同結構表中,不做處理)的數據,儘量保持業務數據的原貌;與源系統數據唯一不同的是,SSA 中的數據在源系統數據的基礎上加入了時間戳的信息,形成了多個版本的歷史數據信息。

2. 原子層(SOR,system-of-record)

SOR 是基於模型開發的一套符合 3NF 範式規則的表結構,它存儲了數據倉庫內最細層次的數據,並按照不同的主題域對數據分類存儲;比如高校數據統計服務平臺根據目前部分需求將全校數據在 SOR 層中按人事、學生、教學、科研四大主題存儲;SOR 是整個數據倉庫的核心和基礎,在設計過程中應具有足夠的靈活性,以能應對添加更多的數據源、支持更多的分析需求,同時能夠支持進一步的升級和更新.

3 .彙總層(SMA,summary-area)

SMA 是 SOR和DM(集市層) 的中間過渡,由於 SOR 是高度規範化數據,此要完成一個查詢需要大量的關聯工作,同時DM 中的數據粒度往往要比 SOR 高很多,對要生DM 中的彙總數據需要進行大量的彙總工作,此,SMA 根據需求把 SOR 數據進行適度的反範(例如,設計寬表結構將人員信息、幹部信息等多表的數據合併起來)和彙總(例如,一些常用的頭彙總、機構彙總等);從而提高數據倉庫查詢性能。

4.集市層/展現層(DM, data mart)

DM 保存的數據供用戶直接訪問的: 可以將 DM 理解成最終用戶接最終想要看的數據;DM 主要是各類粒度的事數據,通過提供不同粒度的數據,適應不同的數訪問需求;高校數據統計服務平臺 DM 中的數據.
在這裏插入圖片描述

原文鏈接:https://blog.csdn.net/qq_26442553/article/details/79318165

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章