簡體   English   中英

如何在沒有足夠 RAM 的情況下使用 Pandas 打開巨大的鑲木地板文件

[英]How to open huge parquet file using Pandas without enough RAM

我正在嘗試使用 Pandas read_parquet函數將一個相當大的 Parquet 文件(約 2 GB,約 3000 萬行)讀入我的 Jupyter Notebook(在 Python 3 中)。 我還安裝了pyarrowfastparquet庫, read_parquet函數將它們用作 parquet 文件的引擎。 不幸的是,似乎在閱讀時,我的計算機死機,最終我收到一個錯誤,說它內存不足(我不想重復運行代碼,因為這會導致再次凍結 - 我不知道逐字錯誤消息)。

有沒有一種好方法可以將鑲木地板文件的某些部分寫入內存而不會發生這種情況? 我知道鑲木地板文件是柱狀的,可能無法僅將部分記錄存儲到內存中,但如果有解決方法,我想將其拆分,或者看看我在嘗試時是否做錯了什么讀入。

就規格而言,我確實有一台相對較弱的計算機,只有 6 GB 內存和 i3。 CPU 為 2.2 GHz,可使用 Turbo Boost。

你需要所有的列嗎? 您也許可以通過加載實際使用的內存來節省內存。

第二種可能性是使用在線機器(如google colab )加載 parquet 文件,然后將其另存為hdf 一旦你有了它,你就可以分塊使用它。

您可以使用 Dask 代替 Pandas。 它建立在 Pandas 之上,因此具有您可能熟悉的類似 API,並且適用於更大的數據。

https://examples.dask.org/dataframes/01-data-access.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM