Spark Streaming 架構與抽象

2021-09-08 16:22:42 字數 852 閱讀 3259

spark streaming使用「微批次」的架構,把流式計算當作一系列連續的小規模批處理來對待。spark streaming從各種輸入源中讀取資料,並把資料分組為小的批次。新的批次按均勻的時間間隔建立出來。在每個時間區間開始的時候,乙個新的批次就建立出來,在該區間內收到的資料都會被新增到這個批次中。在時間區間結束時,批次停止增長。時間區間的大小是由批次間隔這個引數決定的。批次間隔一般設在500毫秒到幾秒之間,由應用開發者配置。每個輸入批次都形成乙個rdd,以 spark 作業的方式處理並生成其他的 rdd。 處理的結果可以以批處理的方式傳給外部系統。高層次的架構如圖

spark streaming的程式設計抽象是離散化流,也就是dstream。它是乙個 rdd 序列,每個rdd代表資料流中乙個時間片內的資料。

spark streaming在spark的驅動器程式—工作節點的結構的執行過程如下圖所示。spark streaming為每個輸入源啟動對 應的接收器。接收器以任務的形式執行在應用的執行器程序中,從輸入源收集資料並儲存為 rdd。它們收集到輸入資料後會把資料複製到另乙個執行器程序來保障容錯性(默 認行為)。資料儲存在執行器程序的記憶體中,和快取 rdd 的方式一樣。驅動器程式中的 streamingcontext 會周期性地執行 spark 作業來處理這些資料,把資料與之前時間區間中的 rdd 進行整合。

Spark Streaming入門詳解

背景 使用spark主要是使用spark streaming,spark streaming的魔力之所在於 1.流式處理,如今是乙個流處理時代,一切與流不相關的都是無效的資料。3.spark streaming本身是乙個程式,spark streaming在處理資料的時候會不斷感知資料。所以對構建複...

Spark Streaming 程式監控

官網中指出,spark中專門為sparkstreaming程式的監控設定了額外的途徑,當使用streamingcontext時,在web ui中會出現乙個 streaming 的選項卡,在此選項卡內,統計的內容展示如下 這其中包括接受的記錄數量,每乙個batch內處理的記錄數,處理時間,以及總共消耗...

spark streaming讀取kafka示例

spark streaming讀取kafka示例,其中 spark streaming優雅的關閉策略優化部分參考 如何管理spark streaming消費kafka的偏移量部分參考 spark向kafka中寫入資料部分參考 object demo 建立streamingcontext return...