繁体   English   中英

如何使用 python 处理 memory 中的大数据?

[英]How can I handle large data in memory using python?

我有一个比我的 memory 大的数据集。 一般来说,我必须遍历 350 个点,每个点是一个大小约为 80 Gb 的数据集。 通常我一次只处理一个文件来解决这个问题,但现在我正在执行一个需要我一次加载所有数据的计算。 我正在寻找有关如何解决此问题的建议。 已经阅读了一些关于 dask 和 pyspark 的内容,但不确定我需要什么。 由于我正在对数据执行 PCA(主成分分析),因此无法将我的数据分成块,因此我需要对整个数据执行计算,数据是速度场,而不是表格。 也许改变 memory 中数组的浮点格式可以工作或任何其他技巧来压缩 memory 中的数组。 每个点的所有文件都是 pickle 格式,共有 3200 个文件,总共提供了大约 32 Tb 的数据。

我有 64 Gb 的 RAM 和一个 32 核的 CPU。

非常感谢有关此问题的任何指导。

通常,您可以为此使用数据生成器。 这允许您在不加载 memory 中的完整数据集的情况下使用数据集。

在实践中,您可以使用 TensorFlow。 对于数据生成器,请使用:

tf.data.Dataset.from_generator

https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_generator

并应用 PCA: tft.pca ( https://www.tensorflow.org/tfx/transform/api_docs/python/tft/pca )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM