gpt4 book ai didi

python - 如何使用 Pandas/Dask 更快地读取压缩(.gz)文件?

转载 作者:行者123 更新时间:2023-12-01 00:40:08 25 4
gpt4 key购买 nike

我有几个(每个3.5GB)gzip文件,到目前为止我正在使用Pandas来读取这些文件,但它非常慢,我也尝试过Dask,但它似乎不支持gzip文件破坏。有没有更好的方法来快速加载这些海量的gzip文件?

Dask 和 Pandas 代码:

df = dd.read_csv(r'file', sample = 200000000000,compression='gzip')

我希望它尽快读取整个文件。

最佳答案

gzip 本质上是一种相当慢的压缩方法,并且(如您所说)支持随机访问。这意味着,到达位置 x 的唯一方法是从头开始扫描文件,这就是 Dask 不支持在这种情况下尝试并行化的原因。

如果您至少想利用并行解析,最好的方法是首先解压缩整个文件,这样分块机制才有意义。您也可以将其分成几个文件,然后压缩每个文件,以便所需的总空间相似。

请注意,理论上,一些压缩机制支持按 block 随机访问,但我们尚未找到任何具有足够社区支持的机制来在 Dask 中实现它们。

不过,最好的答案是以 parquet 或 orc 格式存储数据,这种格式具有内部压缩和分区功能。

关于python - 如何使用 Pandas/Dask 更快地读取压缩(.gz)文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57421905/

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