问题描述
我有一个 Spark DataFrame 由许多双列组成,这些列是测量值,但我想要一种通过计算其他几个非测量列的散列来注释每个唯一行的方法。此散列会导致非常独特的乱码字符串,我注意到当此列存在时,我的数据集大小会大幅增加。如何对数据进行排序/布局以减少数据集的整体大小?
我知道在我的镶木地板文件上使用的 Snappy 压缩协议在运行类似数据时执行得最好,所以我认为对主键进行排序可能很有用,但我也无法将整个数据集合并()到一个单个文件(在主键创建步骤之前总大小为数百 GB)。
我的散列函数是 SHA2(128) 仅供参考。
解决方法
如果您有一列可以从其他列计算,那么只需在压缩前省略该列,并在解压后重建它。