如何在 Python 中将 JSON 文件的目录加载到 Apache Spark 中

2023-11-22

我对 Apache Spark 比较陌生,我想从保存在多个 JSON 文件中的字典列表(每个文件都经过 gzip 压缩并包含字典列表)在 Python 中创建单个 RDD。粗略地说,生成的 RDD 将包含组合成单个字典列表的所有字典列表。我在文档中找不到这个(https://spark.apache.org/docs/1.2.0/api/python/pyspark.html),但如果我错过了,请告诉我。

到目前为止,我尝试读取 JSON 文件并在 Python 中创建组合列表,然后使用 sc.parallelize(),但是整个数据集太大,无法容纳在内存中,因此这不是一个实用的解决方案。 Spark 似乎有一种聪明的方法来处理这个用例,但我不知道。

如何在 Python 中创建包含所有 JSON 文件中的列表的单个 RDD?

我还应该提到,我不想使用 Spark SQL。如果可能的话,我想使用地图、过滤器等功能。


根据 tgpfeiffer 在他们的回答和评论中提到的内容,这就是我所做的。

首先,正如他们提到的,必须对 JSON 文件进行格式化,以便每行有一个字典,而不是单个字典列表。然后,事情就这么简单:

my_RDD_strings = sc.textFile(path_to_dir_with_JSON_files)
my_RDD_dictionaries = my_RDD_strings.map(json.loads)

如果有更好或更有效的方法来做到这一点,请告诉我,但这似乎可行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Python 中将 JSON 文件的目录加载到 Apache Spark 中 的相关文章

随机推荐