У меня задание со структурированной потоковой передачей, которое читает и записывает данные json в / из kafka.При записи в kafka поля в json, имеющие нулевые значения, опускаются.Есть ли способ, которым я могу написать нулевое значение поля в выводе.
org.apache.spark.sql.streaming.StreamingQuery kafkaOutputStream= processedData
.select(org.apache.spark.sql.functions.to_json(org.apache.spark.sql.functions.struct("*"))
.as("value"))
.writeStream()
.format("kafka")
.outputMode("append")
.option("kafka.bootstrap.servers", kafkaServers)
.option("topic", "filtersink")
.option("checkpointLocation", checkpointLocation)
.start();
kafkaOutputStream.awaitTermination();
Ввод:
{"name": "user1", "age":1, "city": null}
Вывод:
{"name": "user1", "age": 1}