【问题标题】:How to join a stream with previous window data?如何使用以前的窗口数据加入流?
【发布时间】:2020-07-15 17:22:15
【问题描述】:

我们每 15 分钟收到几百万条记录。在 Spark 结构化流中,将当前记录集与前一组记录合并为相同 ID 的最佳方法是什么?重启后如何重新初始化之前的状态? 我们已经尝试过 HBase 来存储之前的状态,但它变得非常慢。如果我们使用spark任意会话,重启后如何重新初始化之前的状态?我们现在已经在 Kafka 流中实现了这一点。但想知道是否有一种方法可以在 Spark 结构化流中实现。

【问题讨论】:

    标签: apache-spark spark-structured-streaming


    【解决方案1】:

    在 Spark 结构化流中,将当前记录集与前一组记录合并为相同 ID 的最佳方法是什么?

    Arbitrary stateful flatMapGroupsWithState operator 似乎是最好的选择。

    重启后如何重新初始化之前的状态?

    这会作为 Spark 结构化流式处理的一部分自动发生。这就是checkpointLocation 选项的目的(下面有state 目录)。您不应该关心这些低级基础架构位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-05
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      相关资源
      最近更新 更多