【问题标题】:Perform actions before end of the micro-batch in Spark Streaming在 Spark Streaming 中的微批处理结束之前执行操作
【发布时间】:2016-09-08 07:36:03
【问题描述】:

是否有可能在 Spark Streaming 中的 DStream 内的每个微批处理结束时执行一些操作?我的目标是计算 Spark 处理的事件数。 Spark Streaming 给了我一些数字,但平均值似乎也总和为零(因为一些微批次是空的)。

例如我确实收集了一些统计数据并希望将它们发送到我的服务器,但是收集数据的对象仅存在于某个批次期间,并且会从头开始为下一批进行初始化。我希望能够在批处理完成并且对象消失之前调用我的“完成”方法。否则我会丢失尚未发送到我的服务器的数据。

【问题讨论】:

  • 你有什么不适合你的代码示例吗?
  • 这有点难以解释。我们使用我们以前用java编写的代码。它嵌入在地图功能中。我们收集性能数据并将其发送到我们的服务器的操作员正在重新初始化每个新批次。最好能够在我们的操作员被“杀死”之前向我们的服务器发送数据。

标签: performance apache-spark streaming spark-streaming dstream


【解决方案1】:

【讨论】:

  • 这似乎是一个相当不错的方向。我一定会在周末尝试一下。 :)
  • 这是一个很好的建议,但是:这样的监听器是由驱动程序初始化的。由于我的代码在某个执行程序上执行,我需要在执行程序上调用我的“完成”函数。这样我就不会收到关于批处理完成等事件的任何更新。您知道任何可能的解决方法吗?
猜你喜欢
  • 2017-12-18
  • 2021-11-24
  • 2019-06-25
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多