Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何让消费者知道生产者已完成向代理发送所有消息?_Apache Spark_Apache Kafka_Spark Streaming_Kafka Consumer Api - Fatal编程技术网

Apache spark 如何让消费者知道生产者已完成向代理发送所有消息?

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分钟

1:我们正在使用Spark Streaming进行近实时处理或批处理。我们目前的设计包括卡夫卡

2:制作人每15分钟发送一次消息


3:我们计划使用Spark流媒体来消费卡夫卡主题的信息。

这是一个非常广泛的问题:

  • 基本上,不存在“所有消息”这样的东西,因为它是流处理(但我仍然理解您的问题)
  • 一种方法是在最后一条消息中注入一条控制消息,该消息“结束数据突发”
  • 您还可以通过RPC使用一些“侧通信通道”,以便生产者将其写入的最后一个偏移量发送给消费者
  • 您可以使用一种启发式方法——如果
    poll()
    在1分钟内没有返回任何内容,您只需假设所有数据都已被使用
  • 也许还有其他方法。。。但它都是手工编码的——卡夫卡没有支持(参见(1))