![]() |
1
1
拼花地板和ORC的压缩效率很大程度上取决于您的数据。如果没有压缩,拼花地板仍然使用编码来压缩数据。编码使用了比压缩更简单的方法,并且常常产生与通用压缩相似的结果,用于同质数据。拼花地板最常用的编码是字典编码。我们将每个唯一的行值存储在字典中,并将该值的索引存储在字典中。当列中的数据具有非唯一项时,这将删除重复的值。但这也增加了我们每行存储一个额外整数的开销。虽然拼花地板使用尽可能最小的整数类型,但如果一列中只有唯一的值,则此列的总存储空间将大于没有“索引”时的存储空间。在这种情况下,您应该简单地使用字典编码。 在您的列有许多重复值的情况下,我们通常通过字典编码然后压缩获得更好的收益。考虑一个具有2个唯一值的字符串列,每个值16个字节,但有1024行。如果将平面中的值传递给压缩机,我们将立即压缩16kib。
使用字典编码,我们将有一个32字节和1024字节的字典
对于大多数真实数据,编码+压缩效率通常介于所列的两种情况之间。 |