我正在處理基於輸入數據計算的某些聚合顯示實時儀表板的要求。使用Spark Streaming定期保存計算結果?
我剛剛開始探索Spark/Spark Streaming,我發現我們可以使用Spark Integration以微批實時計算並將其提供給UI儀表板。
我的查詢是,如果在Spark Integration作業啓動後的任何時候,它停止/或崩潰,當它出現時它將如何從它上次處理的位置恢復。我知道Spark維護着一個內部狀態,並且我們會爲每個我們收到的新數據更新狀態。但是,重啓時這種狀態不會消失。
我覺得我們可能需要定期保存運行總數/結果,以便Spark在重新啓動時通過從那裏獲取來恢復處理。但是,不知道我如何使用Spark Streaming來做到這一點。
但是,不確定Spark Streaming默認情況下是否確保數據不會丟失,因爲我剛開始使用它。
如果有人遇到類似的情況,您能否提供一些關於我如何解決這個問題的想法。
我認爲你會在這裏找到一些答案:https://spark.apache.org/docs/latest/streaming-programming-guide.html#checkpointing – maasg