【问题标题】:Extremely high memory usage with pyarrow reading gzipped parquet filespyarrow 读取 gzipped parquet 文件时内存使用率极高
【发布时间】:2019-09-06 00:27:46
【问题描述】:

我有一个(一组)gzipped parquet 文件,大约有 210 列,其中我将大约 100 列加载到 pandas 数据框中。当文件大小约为 1 MB(约 50 行)时,它运行良好且速度非常快; python3 进程消耗

我目前正在使用 pandas.read_parquet,但我也尝试过 pyarrow.read_table,结果相同。

任何想法可能会发生什么?我只是不明白为什么加载这么多数据会像那样炸毁 RAM 并变得无法使用。我的目标是将镶木地板中的数据加载到数据库中,所以如果有更好的方法来做这件事,我也很高兴知道。

代码如下;这只是 pandas.read_parquet 的简单用法。

import pandas as pd
df = pd.read_parquet(bytesIO_from_file, columns=[...])

【问题讨论】:

    标签: pandas parquet pyarrow


    【解决方案1】:

    pyarrow 0.14 中存在内存使用问题,已解决:https://issues.apache.org/jira/browse/ARROW-6060

    即将发布的 0.15 版本将进行此修复,以及 Parquet 读取方面的一系列其他优化。如果您想立即尝试,请参阅the docs 以安装开发版本。

    【讨论】:

    • 谢谢,我会调查的。然而,看看这个问题,他们正在谈论比我正在处理的大小(GB vs MB)大得多的大小,所以我不确定它是否适用,但也许是。
    • 我将 pyarrow 降级到 0.12.1 并解决了这个问题。感谢您为我指明正确的方向!
    猜你喜欢
    • 2020-10-28
    • 2019-06-26
    • 1970-01-01
    • 2018-02-04
    • 2019-09-07
    • 1970-01-01
    • 2021-10-19
    • 2021-03-07
    • 2021-09-23
    相关资源
    最近更新 更多