Spark Structured Streaming [2.3] Поле с нулевым значением пропускается при записи в kafka
У меня есть работа со структурированной потоковой передачей, которая читает и записывает данные 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();
Входные данные:
{ "Имя": "user1", "возраст": 1, "город": нулевой}
Выход:
{ "Имя": "user1", "возраст": 1}