2016-04-14 28 views
1

檢查點對Apache Spark做了什麼?它是否會在RAM或CPU上發生任何命中?檢查點在Apache Spark上做了什麼?

+2

從閱讀文檔中你不瞭解什麼? http://spark.apache.org/docs/latest/streaming-programming-guide.html#checkpointing –

+2

[火花檢查點與堅持磁盤之間有什麼區別](http://stackoverflow.com/問題/ 35127720 /什麼,是最差火花間,檢查點和堅持到一個磁盤) – zero323

回答

1

從Apache的流Documentation - 希望它能幫助:

流式應用必須操作24/7,因此必須是彈性的,以失敗無關的應用邏輯(例如,系統故障,JVM崩潰等)。爲了做到這一點,Spark Streaming需要將足夠的信息檢測到容錯存儲系統,以便從故障中恢復。有兩種類型的檢查點數據。

  • 元數據檢查點 - 將定義 流計算的信息保存到HDFS等容錯存儲。這是用於從運行 流應用程序的驅動程序的節點的故障中恢復的 (稍後詳細討論)。元數據包括:
    • 配置 - 用於創建 流應用程序的配置。
    • DStream操作 - 定義流應用程序的DStream 操作集。
    • 未完成批次
    • 批次的作業排隊但尚未完成。
  • 數據檢查點 - 將生成的RDD保存到可靠的存儲。這在將多個批次的數據組合在一起的有狀態轉換中是必需的。在這樣的轉換中,生成的RDD依賴於先前批次的RDD,這導致依賴鏈的長度隨着時間而不斷增加。爲了避免恢復時間的這種無限增長(與依賴鏈成比例),有狀態轉換的中間RDD週期性地被檢查點化爲可靠存儲(例如HDFS)以切斷依賴鏈。

總之,元數據檢查點主要用於從驅動程序故障中恢復,而數據或RDD檢查點對於使用有狀態轉換時的基本功能是必需的。