Apache spark 如何让消费者知道生产者已完成向代理发送所有消息?
1:我们正在使用Spark Streaming进行近实时处理或批处理。我们目前的设计包括卡夫卡 2:制作人每15分钟发送一次消息Apache spark 如何让消费者知道生产者已完成向代理发送所有消息?,apache-spark,apache-kafka,spark-streaming,kafka-consumer-api,Apache Spark,Apache Kafka,Spark Streaming,Kafka Consumer Api,1:我们正在使用Spark Streaming进行近实时处理或批处理。我们目前的设计包括卡夫卡 2:制作人每15分钟发送一次消息 3:我们计划使用Spark流媒体来消费卡夫卡主题的信息。这是一个非常广泛的问题: 基本上,不存在“所有消息”这样的东西,因为它是流处理(但我仍然理解您的问题) 一种方法是在最后一条消息中注入一条控制消息,该消息“结束数据突发” 您还可以通过RPC使用一些“侧通信通道”,以便生产者将其写入的最后一个偏移量发送给消费者 您可以使用一种启发式方法——如果poll()在1分钟
3:我们计划使用Spark流媒体来消费卡夫卡主题的信息。这是一个非常广泛的问题:
poll()
在1分钟内没有返回任何内容,您只需假设所有数据都已被使用