如何从 Spark 结构化流中的特定 Kafka 分区读取数据

dex*_*007 3 apache-kafka kafka-consumer-api spark-structured-streaming spark-streaming-kafka

我的 Kafka 主题有三个分区,我想知道是否可以仅从三个分区中的一个进行读取。我的消费者是 Spark 结构化流应用程序。

以下是我在 Spark 中现有的 Kafka 设置。

  val inputDf = spark.readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", brokers)
  .option("subscribe", topic)
  .option("startingOffsets", "latest")
  .load()
Run Code Online (Sandbox Code Playgroud)

Ven*_*ata 5

以下是如何从特定分区读取数据。

 val inputDf = spark.readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", brokers)
  .option("assign", """{"topic":[0]}""") 
  .option("startingOffsets", "latest")
  .load()
Run Code Online (Sandbox Code Playgroud)

PS:要从多个分区读取而不是1--> """{"topic":[0,1,2..n]}"""