在结构化流 API 中跨多个集群使用共享 Kafka 主题执行 Spark 作业

问题描述 投票:0回答:1

我正在开发一个 Spark 项目,我需要在两个不同的集群上运行作业,两个集群都使用相同的 Kafka 主题。我希望这些作业能够有效地共享结构化流 API 中的负载和平衡分区。在此过程中避免任何数据重复至关重要。如何使用 Spark 的结构化流 API 实现此目的?

在尝试解决此问题时,我尝试了不同的

group.ids
和不同的检查点位置,但遇到了数据重复的问题。即使在不同的检查点位置使用相同的组 ID,重复项仍然存在。此外,使用相同的组 ID 和检查点位置会导致错误,指示不允许对检查点进行并发更新。

apache-spark pyspark parallel-processing spark-structured-streaming
1个回答
0
投票

我不完全理解要求。 您有 2 个不同的流作业使用同一 Kafka 主题?写入 2 个不同的目标还是相同的目标?

无论如何,我猜测它是相同的目标,如果是相同的目标,则检查一下,划分分区以在两个消费者之间读取。在 92 个分区中,每个消费者读取 46 个分区 —-> 如何从 Spark 结构化流中的特定 Kafka 分区读取数据

© www.soinside.com 2019 - 2024. All rights reserved.