Parquet文件大小如何随Spark Dataset中的计数变化

 收藏

我遇到了一个场景,其中有24列的spark数据集,其中我按前22列进行分组,然后对最后两列进行汇总。

我从查询中删除了分组依据,现在我选择了所有24列。 数据集的初始计数为79,304。

在我删除分组依据之后,计数增加到138,204,这可以理解,因为我删除了分组依据。

但是我并不清楚以下行为:镶木地板文件的初始大小为2.3MB,但后来减小为1.5MB。谁能帮我理解这一点。

同样也不是每次缩小尺寸 我有22列的类似情况 之前的计数是35,298,226,而除去分组的计数是59,874,208 大小从466.5MB增加到509.8MB

回复
  • Clark 回复

    当处理实木复合地板尺寸时,它与行数无关,而与它本身的数据无关。 Parquet是面向列的格式,因此它按列存储数据,并按列压缩数据。因此,它与行数无关,而与列的多样性有关。

    由于表中最多样化的列的多样性,因此Parquet的压缩效果更好。因此,如果您有一个列数据框,则其压缩效果将与列值之间的距离一样好。