我在CSV文件中有一组ids
(大约一千万)。每个id
用于从网站提取JSON格式的数据。我正在从此CSV文件创建RDD,并调用提取数据的地图函数。 Map函数还将JSON格式的数据转换为python字典并返回。最终,在RDD上执行map函数的结果将给我提供大量的字典。该列表可能超出系统/群集内存。有什么有效的方法可以存储此列表而不会耗尽系统的内存。
sample.csv文件包含数字ids
dataframe = spark.read.csv('sample.csv', inferSchema=True, header=True)
data = dataframe.rdd.map(lambda x: get_data(x.id))
get_data(id)
函数返回与id对应的JSON数据(可以转换为字典)。
我需要在磁盘上保存data
变量,而不会使内存过载。您能提出一些有效的方法吗?