首页 > 解决方案 > 如何最有效地压缩高度独特的列?

问题描述

我有一个 Spark DataFrame,由许多作为度量的双列组成,但我想要一种通过计算其他几个非度量列的哈希来注释每个唯一行的方法。此哈希会导致高度唯一的乱码字符串,并且我注意到当此列存在时,我的数据集大小会显着增加。如何对数据进行排序/布局以减小整体数据集大小?

我知道我的镶木地板文件上使用的 Snappy 压缩协议在运行类似数据时执行得最好,所以我认为对主键进行排序可能很有用,但我也不能将整个数据集合并()到一个文件中(在主键创建步骤之前,它的总大小为数百 GB)。

我的散列函数是 SHA2(128) 仅供参考。

标签: apache-sparkcompressionparquetsnappy

解决方案


如果您有一列可以从其他列中计算出来,那么只需在压缩前省略该列,并在解压缩后重建它。


推荐阅读