這部分詳細地講解整個資料上報體系。目前資料上報會根據資料來源進行分類上報。資料來源主要分為四大類:
實時計算架構整體上選擇lamda架構,ods層到dwd層資料的處理,實時和離線部分是公用的,也體現了流批一體的概念。下面就分模組介紹實時計算部分的整體架構。
dwd:dwd層的設計是為了減少下游頻繁對ods層資料進行消費。對於新的需求開發我們只需要申請dwd層的tube消費節點即可。這樣處理極大地節省了計算單元。
計算層:主要負責資料的etl、維表關聯、特徵抽取等業務邏輯的計算。
資料倉儲儲存層:主要採用tdw(hive表)、hdfs和impala作為儲存介質。ods層的原始資料預設儲存在hdfs上,儲存週期預設為3天。
另外,dwd和dws層資料支援寫入tdw和hdfs去做離線計算。同時也支援匯入impala進行儲存,以供燈塔平台和datatalk平台等進行資料探測和報表展示。
針對離線計算部分,我們對資料進行了分層管理,簡單概括為以下四層:
我們對資料層的呼叫進行了約束:
同時我們對於表的命名進行規範,該命名規範使得雜亂無章的資料表變得規範有序,使得內部業務合作變得便利。具體規範如下:
離線部分,一方面會依託平台提供指標監控告警以及sla保障的能力;另一方面,在**層面進行設計,通過異常捕獲、分級告警,出錯分層管理,重置機制等,提高整個系統的高可用和穩定性。
我們在實時和離線對海量日誌處理設計方案上的收益可以總結如下:
這部分,我們通過flink cdc的db資料同步技術,進一步舉例說明我們的海量資料處理流程。上圖是通過flink cdc進行實時更新維表和實時排行榜更新的設計方案,整體主要包括輸入資料來源、flink實時etl模組、flink核心計算模組和資料儲存模組四部分。flink內部繼承開源元件debezium和kafka,cdc技術可以實時捕捉mysql的增刪改,然後將資料同步到下游,同步到多個資料來源,然後通過抽取資料庫日誌的方式完成資料上報。
flink cdc實現方式主要有兩種:sql模式和自定義反序列化模式。個人傾向於選擇第二種方式,可以更加靈活地實現業務需求。通過實現反序列化相關介面,資料庫的變更資料可以通過sourcerecord得到,解析之後的資料可以通過collect進行收集然後傳到下游進行消費。
今天的分享就到這裡,謝謝大家。
如何處理DDoS
ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...
如何處理DDoS
ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...
python如何處理異常
利用python捕獲異常的方式 方法一 捕獲所有的異常 1 2 3 4 5 6 7 8 捕獲異常的第一種方式,捕獲所有的異常 try a b b c exceptexception,data printexception,data 輸出 type exceptions.exception local...