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

Joh*_*yun 1 apache-spark parquet

我遇到了一个场景,我的 Spark 数据集有 24 列,我按前 22 列进行分组,并对最后两列求和。

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

在我删除 group by 后,计数增加到 138,204,这是可以理解的,因为我已经删除了 group by。

但我不清楚 Parquet 文件的初始大小为2.3MB但后来减少到1.5MB的行为。谁能帮我理解这一点。

而且并不是每次大小都会减小,我有一个类似的情况,22 列数之前为 35,298,226,删除 group by 后为 59,874,208,这里大小从466.5MB增加到509.8MB

Ref*_*etz 5

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

由于表中最多样化的列的多样性,Parquet 会做更好的压缩。因此,如果您有一列数据帧,它将被压缩为列值之间的距离。