Spark结构流式传输,调用时 writeStream 引擎盖下的kafka格式使用KafkaProducer。
writeStream
如果在经纪人方面 auto.create.topics.enable 具有 true 作为一个值(什么是默认值), 当KafkaProducer获取元数据时,代理会创建新主题。
auto.create.topics.enable
true
KafkaProducer没有通过任何 主题的属性 。 经纪人使用默认一次(例如 default.replication.factor , num.partitions , log.cleanup.policy )创建主题。
default.replication.factor
num.partitions
log.cleanup.policy
您无法通过KafkaProducer传递主题创建属性。
如文档中所述,请使用 kafka 生产者或消费者属性的前缀。
kafka
可以通过DataStreamReader.option设置Kafka自己的配置 卡夫卡。字首。
例:
stream.option("kafka.bootstrap.servers","host:port")
此外,您只能传递生产者或消费者级别的属性 .options 。如果您需要设置任何主题级别配置,则需要使用代理配置,并且无法通过从默认配置获取的spark流代码进行设置。
.options
https://spark.apache.org/docs/2.2.0/structured-streaming-kafka-integration.html#kafka-specific-configurations