天天看點

 論建立實時大資料平台                                                          論建立實時大資料平台

                                                          論建立實時大資料平台

                                                                                                                                                        李萬鴻2020-2-15

           目前的大多大資料平台都是T+1的非實時平台,隻能展示昨天的資料,而客戶普遍需要實時資料倉庫提供實時服務,那麼,如何解決此問題,打造高品質、高可用、高穩定、高性能實時資料庫呢?

   我們在剛剛完成湖南的一個項目中,就成功地完成了一個實時大資料平台,使用效果良好,客戶很滿意,給予好評。實時大資料平台需要實時增量擷取資料并進行實時處理,才能提供實時資料服務。我們采用的技術體系是這樣的:

  1. 采用Spark Delta0.7資料湖做資料倉庫DW,使用俄羅斯的新穎大資料平台Clickhouse做資料集市DM。
  2. 全量采用Spark抽取資料到delta的ODS,并在delta生成DWS,再生成ADS到clickhouse。這裡需要根據業務建立數倉模型,運作大量的sql。
  3. 對oracle資料庫采用logmnr擷取log變動的sql,對Mysql資料庫采用Canal擷取log的sql,把sql通過kafka發送到Spark Streaming,使用spark執行insert、update、delete語句,修改ods,再對ODS生成dws和ads,進而實時增量擷取變化的資料。
  4. 使用Springboot開發clickhouse的微服務接口,實時處理資料,提供實時資料服務。比如出差、請假資料,實時比對日期,修改出差狀态是已出差、已結束等。

Spark Delta資料湖具有事務功能,支援增删改查,性能優異,支援Spark的sql操作,作為DW資料倉庫,clickhouse性能優異,是不同于hadoop的大資料存儲平台,支援實時寫入和讀取,無需采用事務處理,穩定快速,速度是Mysql的800倍,實際使用,快如閃電,線性擴充,P級海量,是新出現的好産品,阿裡華為都在使用。

經過實戰,我們發現,還可以進一步簡化架構,直接使用clickhouse做整個實時資料倉庫,把ODS、DWD、DWS、ADS都放在ch,這樣效果更好,簡單快捷,更為實時高效。

對這個平台在建立資料中台時,需要根據這個技術架構進行巧妙設計,比如使用Datax全量抽取資料到Hive,利用Hive的mysql中繼資料建立資料的中繼資料管理,再從Hive把資料抽取到ch。

   從ch查詢資料,進行資料資産管理,等等。

      總之,實時大資料平台和中台已成為新時代的大勢所趨,這是一個行之有效的方案,希望對大家有所啟迪開發更棒的實時中台,謝謝。

繼續閱讀