源数据中经常缺少一个可选字段。 Spark管道执行许多不同的转换,包括一堆dataframe.select
语句,并经常在Dataframe和JSON rdds之间进行转换,然后再次返回。
我的问题是这样的:
从数据帧转换为JSON rdd时,toJSON
方法会自动删除仅包含空值的字段。然后,当我在转换回数据框后执行dataframe.select
语句时,该字段不再存在,并且选择语句失败。
我的临时解决方案是,如果不存在该字段,则在最开始处创建该字段,并为其赋予值“ REPLACE ME”,然后在管道末尾将它们全部更改为null,然后再写入数据库。 / p>