1、實時資料平臺整體架構
實時資料平臺的支撐技術主要包含四個方面:實時資料採集(如Flume),訊息中介軟體(如Kafka), 流計算框架(如Storm, Spark, Flink和Beam),以及資料實時儲存(如列族儲存的HBase)
實時資料平臺最為核心的技術是流計算。
2、流計算
流計算的典型特徵:
1、無邊界:流計算的資料來源頭是源源不斷的,就像河水一樣不停第流過來,相應地,流計算任務也需要始終執行。
2、觸發:不同於Hadoop離線任務是定時排程觸發,流計算任務的每次計算是由源頭資料觸發的。觸發是流計算的一個非常重要的概念,在某些業務場景下,觸發訊息的邏輯比較複雜,對流計算挑戰很大。
3、延遲:很顯然,流計算必須能高效地、迅速地處理資料。不同於Hadoop任務至少以分組甚至小時計的處理延遲,流計算的延遲通常在秒甚至毫秒級,分組級別的延遲只有在特殊情況下才能被接受。
4、歷史資料:Hadoop離線任務如果發現歷史某天的資料有問題,通常很容易修復問題而且重執行任務,但是對於流計算任務基本不可能或代價非常大,以為首先實時流訊息不會儲存很久(一般幾天),而且儲存歷史的完全
現場基本不可能,所以實時流計算一般只能從問題發現的時刻修復資料,歷史資料是無法通過流式方式來補的。
3、資料管理
資料管理包括資料探查、資料整合、資料質量、後設資料管理和資料遮蔽
資料探查:就是對資料的內容本身和關聯關係等進行分析,包括但不限於需要的資料是否有、都有哪些欄位、欄位含義是否規範明確以及欄位的分佈和質量如何等。
資料整合:資料倉儲的資料整合也叫ETL(抽取:extract、轉換:transform、載入:load),是資料平臺構建的核心,ETL泛指將資料從資料來源頭抽取、經過清洗、轉換、關聯等轉換,
並最終按照預先設計的資料模型將資料載入到資料倉儲的過程。
參考資料:《離線和實時大資料開發實戰》