我有一个从 API 调用中获取的复杂 JSON 数据。我正在尝试在 Spark 数据框中读取这些数据,但在此过程中,我发现一些记录填充了空值,而很少有正确的数据。
我正在做一些事情:
response = requests.request("GET", url, headers=headers)
resp = json.loads(response.text) # Data schema [{...}, {...}, ...]
df = spark.read.json(sc.parallelize(resp).map(lambda x: json.dumps(x))
df.show()
我正在使用的数据集受到限制,因此我无法在此处分享。但它由多个嵌套 JSON 字段的数组组成,其中 JSON 的架构可能在数组项之间有所不同。
如果我尝试一次读取数组的每个元素,那么它可以正常工作。我不知道是什么导致了这个问题,因为这在 Spar 2.4 中工作,但我们现在正在升级到 Spark 3。