Spark SQL - gzip、snappy 和 lzo 压缩格式之间的区别

2024-01-03

我正在尝试使用 Spark SQL 来编写parquet file.

Spark SQL 默认支持gzip,但它也支持其他压缩格式,例如snappy and lzo.

这些压缩格式有什么区别?


压缩率 :GZIP 压缩比 Snappy 或 LZO 使用更多的 CPU 资源,但提供更高的压缩比。

一般用法:GZip 通常是一个不错的选择cold不经常访问的数据。 Snappy 或 LZO 是更好的选择hot经常访问的数据。

Snappy 的表现通常比 LZO 更好。值得进行测试以查看是否发现显着差异。

可分割性:如果您需要可拆分的压缩数据,则 BZip2、LZO 和 Snappy 格式是可拆分的,但 GZip 则不然。

与 Snappy 相比,GZIP 的数据压缩率高出 30%,而读取 GZIP 数据时的 CPU 比使用 Snappy 数据的 CPU 多出 2 倍。

LZO 专注于低 CPU 使用率下的解压速度和以更多 CPU 为代价的更高压缩率。

For 长期/静态存储方面,GZip压缩还是比较好。

请参阅本文中的广泛研究和基准代码和结果(各种通用压缩算法的性能 - 其中一些算法快得令人难以置信!). https://web.archive.org/web/20180818143434/http://java-performance.info/performance-general-compression/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark SQL - gzip、snappy 和 lzo 压缩格式之间的区别 的相关文章

随机推荐