我遇到了一个场景,其中有24列的spark数据集,其中我按前22列进行分组,并对后两列进行求和。
我从查询中删除了分组依据,现在我选择了所有24列。 数据集的初始计数为79,304。
在我删除分组依据之后,计数增加到138,204,这可以理解,因为我在删除分组依据。
但是我并不清楚以下行为:镶木地板文件的初始大小为 2.3MB ,但后来减小为 1.5MB 。谁能帮我理解这一点。
也并非每次尺寸减小时, 我有22列的类似情况 之前的计数是35,298,226,而除去分组的计数是59,874,208 并且大小从 466.5MB 增加到 509.8MB
答案 0 :(得分:4)
在处理实木复合地板尺寸时,它与行数无关,而与它本身的数据无关。 Parquet是面向列的格式,因此它按列存储数据,并按列压缩数据。因此,这与行数无关,而与列的多样性有关。
由于表中最多样化的列的多样性,因此Parquet的压缩效果更好。因此,如果您有一个列数据框,则它的压缩效果将达到列值之间的距离。