Apache spark Spark结构化流媒体是否维护卡夫卡消息的顺序?

Apache spark Spark结构化流媒体是否维护卡夫卡消息的顺序?,apache-spark,apache-kafka,spark-structured-streaming,Apache Spark,Apache Kafka,Spark Structured Streaming,我有一个Spark结构化流媒体应用程序,它使用来自多个卡夫卡主题的消息,并将结果写入另一个卡夫卡主题。为了保持数据的完整性,必须保持源分区中消息的顺序。因此,如果分区中的messageA位于messageB之前,则应在processed(B)之前将processed(A)写入输出主题(使用相同的哈希字符串时,processed A和B也将进入相同的分区) Spark Structured Streaming是否保证了这一点?分区内的顺序是有保证的。因此,根据您的示例,如果从同一个Kafka分区使

我有一个Spark结构化流媒体应用程序,它使用来自多个卡夫卡主题的消息,并将结果写入另一个卡夫卡主题。为了保持数据的完整性,必须保持源分区中消息的顺序。因此,如果分区中的message
A
位于message
B
之前,则应在
processed(B)
之前将
processed(A)
写入输出主题(使用相同的哈希字符串时,processed A和B也将进入相同的分区)


Spark Structured Streaming是否保证了这一点?

分区内的顺序是有保证的。因此,根据您的示例,如果从同一个Kafka分区使用A,则A将在B之前处理。只是澄清一下,消息C(从不同于a&B的Kafka分区使用的记录)可以在a&B之间处理。因此,输出Kafka主题可以使用a=>C=>B生成。是的,这正是我需要的。由于A和C首先在不同的分区中,我不关心它们的处理顺序。我还需要设置
kafka.max.in.flight.requests.per.connection=1
。看见