我正在从Kafka获取RDD作为JSON数据。
{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之前,我再次将数据类型转换为String Type。所以,我需要输出为
{id:"a",amount:"100"}
{id:"b",amount:"NULL"}