2017-04-25 39 views
0

我在SO中看到了幾個答案(例如here),表明批次中的記錄將成爲單個RDD。我懷疑它是因爲假設batchInterval是1分鐘,那麼單個RDD將包含來自最後一分鐘的所有數據?Spark Streaming中已處理的批次與RDD

注意:我並不直接將批次與RDD進行比較,而是直接將批次與內部處理的批次進行比較。

回答

1

讓我引用Spark Streaming guide

離散流或DSTREAM是星火流提供的基本抽象。它表示連續的數據流,即從源接收的輸入數據流或通過轉換輸入流生成的已處理數據流。在內部,DStream由連續的RDD系列表示,這是Spark對不可變的分佈式數據集的抽象(有關更多詳細信息,請參閱Spark Programming Guide)。 DStream中的每個RDD都包含來自特定時間間隔的數據,如下圖所示。

enter image description here

正如你所看到的 - 單批=單RDD。這就是爲什麼調整批處理間隔取決於您的數據流量對於您的應用程序的穩定性至關重要。

相關問題