小编stp*_*ung的帖子

是否可以实现支持非正常关闭的可靠接收器?

我很好奇是否绝对必须让Spark流应用程序正常关闭,否则它会冒着通过预写日志导致重复数据的风险.在下面的场景中,我概述了队列接收器与队列交互的步骤序列,需要对消息进行确认.

  1. Spark队列接收器从队列中提取一批消息.
  2. Spark队列接收器将该批消息存储到预写日志中.
  3. 在将ack发送到队列之前终止Spark应用程序.
  4. Spark应用程序再次启动.
  5. 预写日志中的消息通过流应用程序处理.
  6. Spark队列接收器从队列中提取一批消息,这些消息已在步骤1中看到,因为它们未被确认为已接收.
  7. ...

我的理解是正确的,应该如何实现自定义接收器,它带来的重复问题,以及需要正常关闭是正常的吗?

apache-spark spark-streaming

9
推荐指数
1
解决办法
433
查看次数

标签 统计

apache-spark ×1

spark-streaming ×1