json - Spark保存为JSON忽略空值
问题描述
我从 Kafka 获取 JSON 数据作为 RDD。
{id:"A",amount:"100"}
{id:"B",amount:"NULL"}
然后,使用 Spark 内置函数创建 DataFrame spark.read.json(rdd),这会给我
id|amount
a|100
b|NULL
schema:
id:String
amount:String
然后,我将金额类型转换为 Integer,然后 NULL 值自动转换为 null。所以,在输入这个之后,我的数据是什么样子的
id|amount
a|100
b|null
经过几次转换后,我再次将这些记录转换为 JSON 并写入另一个 Kafka。因此,当我将这些记录转换为 JSON 时,空值会被忽略。
{id:"a",amount:100}
{id:"b"}
在推送到 Kafka 之前,我再次将数据类型转换为字符串类型。所以,我需要输出为
{id:"a",amount:"100"}
{id:"b",amount:"NULL"}
解决方案
推荐阅读
- png - 从 PNG 到 JPG 的缩略图转换会导致全白图像
- authentication - octobercms 更改登录页面的样式
- math - 为什么 3log8(n) 是 3log8(n) + log2log2log2n 中的主导词?
- java - 如何获取 Spring Boot 默认的 Kafka 消费者对象
- python - sympy 上的特征值给出分段值
- c# - 如何实现 NUnit 的 NUnit.Engine.ITestEventListener
- python - 如何对来自不同特征工程过程的特征进行标准化和规范化?
- java - javapackager:无法确定指定的运行时目录中存在哪个 JRE/JDK。MacOS 大苏尔
- python - 将列表列表附加到数据框显示列表错误
- javascript - 如何查找已设置动态 id 的元素