我每天都收到带有10个属性的json,但是几天后,如果任何属性没有值,它们将发送9个属性,而第十个属性在json中不存在。如何在不更改旧表架构的情况下读取pyspark中的json文件
答案 0 :(得分:1)
似乎在读取文件时应强制执行schema
。
我假设你有这样的东西:
df = spark.read.json(path_to_json_files)
为了保留所有属性/字段,请使用如下模式:
df = spark.read.schema(file_schema).json(path_to_json_files)
要获取file_schema
,可以使用一个旧文件,您知道每个属性都可用:
file_schema = spark.read.json(full_json_file).schema