kylin 大資料架構 大資料Lambda架構

2021-10-13 23:40:16 字數 1261 閱讀 9622

眾所周知,大資料的volume(體積)和velocity(速度)在架構設計中是一對矛盾,具體的表現是大體積的資料處理起來速度就慢。架對於大資料的批處理和實時處理兩種場景往往需要不同的技術。lambda架構就是將實時處理和批處理兩個場景放在一起。

apache hadoop提供了hdfs和計算框架(mapreduce)。hdfs是分布式檔案系統能夠根據資料量的大小進行彈性擴充套件,mapreduce是乙個批量計算框架,它能夠處理大量的資料,但是它的處理時間比較長。所以hadoop適合大資料的批量離線處理,但是不能滿足對資料實施性的要求。對資料實時的處理,我們需要另外的實時處理框架,能夠不間斷的實時處理新來的資料,並將資料和批量計算的資料進行合併。

lambda架構分為3層:

批處理層管理全量資料並預先批量計算資料實時處理層把新來的增量資料和最近乙個時間段的資料進行增量計算服務層將計算的資料能夠被快速的查詢

下圖概述了這三層:

從資料來源來的資料同時進入批處理層和實時處理層進行處理。在另外一端在查詢的時候將批量處理的結構資料和實時處理的資料進行合併輸出。

lambda架構的優點是使得在乙個架構中即能滿足對資料volume的處理要求,也滿足了對資料velocity的要求。缺點是在業務上批量處理的邏輯和實時處理的邏輯相同,導致邏輯計算冗餘,浪費計算資源。

下圖是乙個典型的lambda架構實現:

各個資料來源來的資料publish到kafka或flume,然後同時進行hadoop批量處理系統中和spark streaming流式處理系統中。最後將批處理的計算結構和流式計算的結果分別儲存服務層中的hive和cassandra中。使用者在查詢的時候將hive中的批量資料和cassandra中的實時資料進行合併從而得到需要的結果。

這裡需要注意的是cassandra儲存的實時資料不需要太長時間,滿足需求對實時的要求即可,更不要在cassandra中儲存更多的歷史資料,這樣會使得實時資料查詢速度會降低。

大資料之大資料技術架構

上期我們說到大資料的概念,其實,大資料比我們想象中的還要複雜,本期,我們主要從技術的角度介紹一下大資料的知識。大資料技術是一系列技術的總稱,它是集合了資料採集與傳輸 資料儲存 資料處理與分析 資料探勘 資料視覺化等技術,是乙個龐大而複雜的技術體系。根據大資料從 到應用,實現傳輸的流程,可以將大資料技...

大資料架構 常見大資料技術

本文是一篇讀書筆記,源自 大資料架構詳解 part i 資料獲取 資料獲取元件 網頁採集 網路爬蟲 日誌收集 中介軟體技術 part ii 流處理 流的概念 流引擎 storm 流引擎 spark streaming 流引擎 flink part iii 互動式分析 互動式分析的概念 mpp db技...

大資料架構 Kafka

kafka 分布式的發布 訂閱訊息系統,主要用於處理活躍的資料 特點 高吞吐量 每秒百萬級別的生產消費 生產消費 永續性 由完善的訊息儲存機制,確保資料的高效安全的持久化 中間儲存 分布式 基於分布式的儲存和容錯機制 整體的健壯性 kafka的元件 kafka服務 topic 主題 kafka處理的...