我的Kafka主题有3个分区,我想知道我是否只能从3个分区中读取一个。我的消费者是Spark结构化的流应用程序。
下面是我在Spark中现有的kafka设置。
val inputDf = spark.readStream
.format("kafka")
.option("kafka.bootstrap.servers", brokers)
.option("subscribe", topic)
.option("startingOffsets", "latest")
.load()
答案 0 :(得分:0)
这是从特定分区读取信息的方式。
val inputDf = spark.readStream
.format("kafka")
.option("kafka.bootstrap.servers", brokers)
.option("assign", """{"topic":[0]}""")
.option("startingOffsets", "latest")
.load()
PS:要读取多个分区而不是1->“”“ {” topic“:[0,1,2..n]}”“”
答案 1 :(得分:0)
类似地,您如何写入特定分区。我试过了,但是行不通。
someDF
.selectExpr("key", "value")
.writeStream
.format("kafka")
.option("kafka.bootstrap.servers", kafkaServers)
.option("topic", "someTopic")
.option("partition", partIdx)
.start()