合并坏的 Spark RDD JSON

Merge Spark RDDs from bad JSON

我有很多 json 文件,但是它们的格式不适合 Spark。我不想编写代码通过规范化每一行的每个字典来专门将它们转换为正确的格式。

相反,我希望使用 spark 来解析它们的内容。我有以下

import json

import os

json_dir = '/data/original/TEMP'
df = sc.wholeTextFiles(os.path.join(json_dir,'*.json'))
j_docs = df.map(lambda x: json.loads(x[1])).cache()

这很好用,j_docs 本质上是一个列表列表。例如,j_docs 中的第一项是第一个文件中的字典列表。

我想将所有这些单独的列表组合成一个大的 RDD。理想情况下不必 运行 收集数据。

谢谢

像下面这样使用 flatMap 而不是 map

j_docs = df.flatMap(lambda x: json.loads(x[1])).cache()