我有一个存储在S3存储桶中的大型数据集,但它不是一个大型文件,而是由许多(113K准确)个别JSON文件组成,每个文件包含100-1000个观察值.这些观察结果不是最高级别,但需要在每个JSON中进行一些导航才能访问.即json ["interaction"]是一个词典列表.
我正在尝试利用Spark/PySpark(版本1.1.1)来解析并减少这些数据,但我无法找出将其加载到RDD的正确方法,因为它既不是所有记录也不是一个文件(在在哪种情况下我会使用sc.textFile,虽然这里添加了JSON的复杂功能),也没有每个记录>一个文件(在这种情况下我会使用sc.wholeTextFiles).
我最好选择使用sc.wholeTextFiles,然后使用地图(或者在这种情况下使用flatMap?)将多个观察结果从单个文件名密钥存储到自己的密钥中?或者有一种更容易的方法来做到这一点,我错过了?
我在这里看到的答案建议只在通过sc.textFile加载的所有文件上使用json.loads(),但它似乎不适用于我,因为JSON不是简单的最高级别列表.