【问题标题】:How to maintain state after streaming application restart?流式应用程序重启后如何保持状态?
【发布时间】:2016-04-06 15:55:17
【问题描述】:

我正在尝试了解 Spark Streaming 中的状态管理一般是如何工作的。如果我运行这个示例程序两次,第二次运行会看到第一次运行的状态吗? https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/StatefulNetworkWordCount.scala

有没有办法做到这一点?我正在考虑重新部署一个应用程序,我不想丢失当前状态。

【问题讨论】:

    标签: scala apache-spark spark-streaming


    【解决方案1】:

    tl;dr 这取决于您需要其他实例查看的内容。 Checkpointing通常是一个解决方案。

    ssc.checkpoint(".")the line 50 in StatefulNetworkWordCount)启用检查点(引用official documentation):

    Spark Streaming 需要为容错存储系统检查点足够的信息,以便它可以从故障中恢复。

    失败可以被视为一种重新部署的形式。在Upgrading Application Code下的官方文档中有描述,列出了两种情况:

    • 两个实例并行运行
    • 一个被优雅地关闭,另一个从检查点目录读取状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      • 2010-11-19
      • 1970-01-01
      • 2017-01-29
      • 2019-12-05
      相关资源
      最近更新 更多