實習過后需要學習一下才能更有體會~~~
學習來源:https://blog.csdn.net/huanggang028/article/details/52168092
問題:數(shù)據(jù)爆炸式地增長,各種結構化、半結構化、非結構化數(shù)據(jù)的產(chǎn)生,越來越多的企業(yè)開始在大數(shù)據(jù)平臺下進行數(shù)據(jù)處理。
總體思路
新環(huán)境下的數(shù)據(jù)應用特征:
- 業(yè)務變化快
- 數(shù)據(jù)來源多
- 應用深度深
- 系統(tǒng)耦合多
大數(shù)據(jù)平臺特征
- 強大的計算和存儲能力:使得更扁平化的數(shù)據(jù)流程設計成為可能,簡化計算過程;
- 多樣的編程接口和框架:豐富了數(shù)據(jù)加工的手段;
- 豐富的數(shù)據(jù)采集通道:實現(xiàn)非結構化數(shù)據(jù)和半結構化數(shù)據(jù)的采集;
- 各種安全和管理措施:保障了平臺的可用性。
對于數(shù)據(jù)倉庫的構建要求
- 穩(wěn)定:數(shù)據(jù)的產(chǎn)出穩(wěn)定、有保障;
- 可信:數(shù)據(jù)的質量要足夠高;
- 豐富:數(shù)據(jù)涵蓋的業(yè)務面要足夠豐富;
- 透明:數(shù)據(jù)構成流程體系透明,讓用戶放心使用。
倉庫架構設計原則
- 自下而上+自上而下:保證數(shù)據(jù)搜集的全面性
- 高容錯;
- 數(shù)據(jù)質量監(jiān)控觀察整個數(shù)據(jù)流程;
- 不怕數(shù)據(jù)冗余,利用存儲換易用。
數(shù)據(jù)模型
模型設計
- 維度建模
結構簡單,便于事實數(shù)據(jù)分析,適合業(yè)務分析報表和BI; - 實體關系建模
結構較復雜,但它便于主體數(shù)據(jù)打通,適合復雜數(shù)據(jù)內容的深度挖掘。
每個企業(yè)在構建自己數(shù)倉時,應該根據(jù)業(yè)務形態(tài)和需求場景選擇合適的建模方式。對于應用復雜性企業(yè),可以采用多種建模結合的方式,例如在基礎層采用維度建模的方式,讓維度更加清晰;中間層采用實體關系建模方式,使得中間層更容易被上層應用使用。
數(shù)據(jù)分層
數(shù)據(jù)分層可以使得數(shù)據(jù)構建體系更加清晰,便于數(shù)據(jù)使用者快速對數(shù)據(jù)進行定位;同時數(shù)據(jù)分層也可以簡化數(shù)據(jù)加工處理流程,降低計算復雜度。
- 基礎數(shù)據(jù)層(存)
- 數(shù)據(jù)采集:把不同數(shù)據(jù)源的數(shù)據(jù)統(tǒng)一采集到一個平臺上;
- 數(shù)據(jù)清洗,清洗不符合質量要求的數(shù)據(jù),避免臟數(shù)據(jù)參與后續(xù)數(shù)據(jù)計算;
- 數(shù)據(jù)歸類,建立數(shù)據(jù)目錄,在基礎層一般按照來源系統(tǒng)和業(yè)務域進行分類;
- 數(shù)據(jù)結構化,對于半結構化和非結構化的數(shù)據(jù),進行結構化;
- 數(shù)據(jù)規(guī)范化,包括規(guī)范維度標識、統(tǒng)一計量單位等規(guī)范化操作。
- 中間層(通)
- 打通同一實體不同來源的數(shù)據(jù)
- 從行為中提取關系
- 可適當增加數(shù)據(jù)冗余,以保障主題的完整性和數(shù)據(jù)的易用性
- 集市層(用)
- 場景驅動建設,各及時之間垂直構建
- 集市層深度挖掘數(shù)據(jù)價值
- 能夠快速試錯
數(shù)據(jù)架構
- 數(shù)據(jù)整合
- 結構化數(shù)據(jù)采集
- 全量采集:每日采集數(shù)據(jù)庫表的快照
- 增量采集:采集數(shù)據(jù)集每日變化的數(shù)據(jù)
- 實時采集:實時采集數(shù)據(jù)集的變化數(shù)據(jù)
- 非結構化數(shù)據(jù)特征提取
例如語音轉文本、圖片識別、自然語言處理等... - 日志結構化
- 日志采集到平臺之前不做結構化
- 通過UDF和MR計算框架實現(xiàn)日志結構化
- 日志原始結構越規(guī)范,解析成本越低
- 結構化數(shù)據(jù)采集
- 數(shù)據(jù)體系
- 數(shù)據(jù)服務
- 統(tǒng)計服務:偏傳統(tǒng)的報表服務,利用大數(shù)據(jù)平臺將數(shù)據(jù)加工后的結果放入關系型數(shù)據(jù)庫中,供前端的報表系統(tǒng)或業(yè)務系統(tǒng)查詢;
- 分析服務:提供明細的事實數(shù)據(jù),利用大數(shù)據(jù)平臺的實時計算能力,允許操作人員自主靈活的進行各種維度的交叉組合查詢。
- 標簽服務:大數(shù)據(jù)的應用場景下,經(jīng)常會對主體進行特征刻畫,比如客戶的消費能力、興趣習慣、物理特征等等,這些數(shù)據(jù)通過打標簽轉換成KV的數(shù)據(jù)服務,用于前端應用查詢。
架構中一些實用的點
- 巧用虛擬節(jié)點:實現(xiàn)多系統(tǒng)數(shù)據(jù)源同步,實現(xiàn)跨系統(tǒng)間的數(shù)據(jù)傳輸,實現(xiàn)多應用間數(shù)據(jù)交互。通過巧用虛擬節(jié)點減少運維人員在實際出現(xiàn)問題時的運維成本。
- 采用強制分區(qū):在所有的表都上都加上時間分區(qū)。通過分區(qū),保證每個任務都能夠獨立重跑,而不產(chǎn)生數(shù)據(jù)質量問題,降低了數(shù)據(jù)修復成本;此外通過分區(qū)裁剪,還可以降低計算成本。
- 計算框架應用:完成日志結構化、同類數(shù)據(jù)計算過程、減少數(shù)據(jù)掃描次數(shù)等操作,減輕了開發(fā)人員的負擔,同時更容易維護。
- 優(yōu)化關鍵路徑:每份數(shù)據(jù)的產(chǎn)出都有一個關鍵數(shù)據(jù)加工路徑;優(yōu)化關鍵路徑中耗時最長的任務是最有效的保障數(shù)據(jù)產(chǎn)出時間的手段;對重要數(shù)據(jù)產(chǎn)出增加基線監(jiān)控。
數(shù)據(jù)治理
數(shù)據(jù)質量
- 事前:制定每份數(shù)據(jù)的數(shù)據(jù)質量監(jiān)控規(guī)則
- 事中:監(jiān)控和影響數(shù)據(jù)生產(chǎn)過程,不符合質量要求的數(shù)據(jù)不算產(chǎn)出數(shù)據(jù);
- 事后:數(shù)據(jù)質量情況分析和打分,兔絨數(shù)據(jù)質量提升
數(shù)據(jù)生命周期管理
- 對重要的基礎數(shù)據(jù)長期保留
- 對數(shù)據(jù)中間計算過程數(shù)據(jù),在保障滿足絕大部分應用訪問歷史的前提下,縮短數(shù)據(jù)保留周期,有助于降低存儲成本;