读分区文件实木复合地板与Pyarrow占用内存过多

问题描述 投票:0回答:1

我有分割平面文件组成的大黑斑羚数据库。我复制一个分区实木复合地板直接使用HDFS本地磁盘。这个分区有15GB的总并且由大量的每个10MB的文件中。我试图直接与Pyarrow引擎或Pyarrow阅读本使用熊猫,但其在内存大小比RAM 60GB使用更多的,它并没有使用所有内存之前读取整个数据集。有什么能如此大的内存使用情况的原因是什么?

pandas hdfs parquet impala pyarrow
1个回答
2
投票

对磁盘和内存中的文件实木复合地板的大小可以变化到一个数量级。镶木地板使用有效的编码和压缩技术来存储列。如果将此数据加载到RAM中,数据被解压缩到它的压缩形式。因此,对于有大小15G的数据文件集,150G的RAM的使用可以预期。

当你不能确定这是否是你的问题,使用df = pandas.read_parquet加载一个文件,并检查其与df.memory_usage(deep=True)内存使用情况。这应该给你的磁盘和你的整个数据集的RAM之间的缩放的一个很好的迹象。

© www.soinside.com 2019 - 2024. All rights reserved.