Привет, есть офф пример:
streamingDataFrame.selectExpr("CAST(id AS STRING) AS key", "to_json(struct(*)) AS value").
writeStream
.format("kafka")
.option("topic", "topicName")
.option("kafka.bootstrap.servers", "localhost:9092")
.option("checkpointLocation", "path to your local dir")
.start()
не понятно почему Kafke не хватает лишь value , зачем нужен и key (и где его взять если нету в DataFrame)