我有分割平面文件组成的大黑斑羚数据库。我复制一个分区实木复合地板直接使用HDFS本地磁盘。这个分区有15GB的总并且由大量的每个10MB的文件中。我试图直接与Pyarrow引擎或Pyarrow阅读本使用熊猫,但其在内存大小比RAM 60GB使用更多的,它并没有使用所有内存之前读取整个数据集。有什么能如此大的内存使用情况的原因是什么?
对磁盘和内存中的文件实木复合地板的大小可以变化到一个数量级。镶木地板使用有效的编码和压缩技术来存储列。如果将此数据加载到RAM中,数据被解压缩到它的压缩形式。因此,对于有大小15G的数据文件集,150G的RAM的使用可以预期。
当你不能确定这是否是你的问题,使用df = pandas.read_parquet
加载一个文件,并检查其与df.memory_usage(deep=True)
内存使用情况。这应该给你的磁盘和你的整个数据集的RAM之间的缩放的一个很好的迹象。