【问题标题】:What does checkpointing do on Apache Spark?检查点在 Apache Spark 上做了什么?
【发布时间】:2016-04-14 19:34:14
【问题描述】:

检查点对 Apache Spark 有什么作用,它是否会对 RAM 或 CPU 造成任何影响?

【问题讨论】:

标签: hadoop apache-spark pyspark checkpointing


【解决方案1】:

来自 Apache Streaming Documentation - 希望对您有所帮助:

流式应用程序必须 24/7 全天候运行,因此必须能够应对与应用程序逻辑无关的故障(例如,系统故障、JVM 崩溃等)。为此,Spark Streaming 需要检查点足够的信息到容错存储系统,以便它可以从故障中恢复。有两种类型的数据需要检查点。

  • 元数据检查点 - 保存定义 将计算流式传输到 HDFS 等容错存储。这是 用于从运行驱动程序的节点的故障中恢复 流应用程序(稍后详细讨论)。元数据包括:
    • 配置 - 用于创建 流媒体应用。
    • DStream 操作 - DStream 的集合 定义流应用程序的操作。
    • 批次不完整
    • 作业已排队但尚未完成的批次。
  • 数据检查点 - 将生成的 RDD 保存到可靠存储。这在一些跨多个批次组合数据的有状态转换中是必要的。在这样的转换中,生成的 RDD 依赖于前一批的 RDD,这导致依赖链的长度随着时间的推移而不断增加。为了避免恢复时间的无限制增加(与依赖链成正比),有状态转换的中间 RDD 会定期检查点到可靠存储(例如 HDFS)以切断依赖链。

总而言之,元数据检查点主要用于从驱动程序故障中恢复,而数据或 RDD 检查点对于使用状态转换的基本功能来说也是必需的。

【讨论】:

    猜你喜欢
    • 2015-03-21
    • 2019-11-11
    • 2015-07-11
    • 2011-09-23
    • 2019-10-21
    • 2017-12-31
    • 2012-11-17
    • 1970-01-01
    • 2022-10-14
    相关资源
    最近更新 更多