簡體   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