gpt4 book ai didi

python - 加载 PySpark 中 npz 存档中存储的 numpy 数组

转载 作者:太空宇宙 更新时间:2023-11-03 16:57:52 25 4
gpt4 key购买 nike

我在 S3 中有大量 numpy 数组存储在 npz 存档中。将它们加载到 NumPy 数组的 PySpark RDD/Dataframe 中的最佳方法是什么?我尝试使用 sc.wholeTextFiles API 加载该文件。

rdd=sc.wholeTextFiles("s3://[bucket]/[folder_containing_npz_files]") 

但是 numpy.load 需要文件句柄。并且将文件内容作为字符串加载到内存中会占用大量内存。

最佳答案

您无法对内存要求做太多事情,但 BytesIO 应该可以正常工作:

from io import BytesIO

def extract(kv):
k, v = kv
with BytesIO(v) as r:
for f, x in np.load(r).items():
yield "{0}\t{1}".format(k, f), x

sc.binaryFiles(inputPath).flatMap(extract)

关于python - 加载 PySpark 中 npz 存档中存储的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com