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}

0 ответов