当前位置: 首页 > 知识库问答 >
问题:

Spark SQL-gzip与snappy与lzo压缩格式之间的差异

谢豪
2023-03-14

我试图使用火花SQL编写拼花文件。

默认情况下,Spark SQL支持gzip,但也支持其他压缩格式,如snappylzo

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

共有3个答案

霍修筠
2023-03-14

只需在您的数据上尝试它们。

lzo和snappy是快速压缩器和非常快速的解压器,但压缩量较小,而gzip的压缩效果更好,但速度稍慢。

湛博易
2023-03-14

如果可以处理更高的磁盘使用率以获得性能优势(更低的CPU可拆分性),请使用Snappy。

当Spark默认从GZIP切换到Snappy时,原因如下:

根据我们的测试,gzip解压非常慢(

活泼的:

  • 存储空间:高
  • CPU使用率:低
  • Splittable:是(1)

GZIP:

  • 存储空间:中等
  • CPU使用率:中等
  • 可拆分:没有

1) http://boristyukin.com/is-snappy-compressed-parquet-file-splittable/

禄光霁
2023-03-14

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

一般用法:GZip通常是冷数据的好选择,因为冷数据很少被访问。Snappy或LZO是访问频繁的热数据的更好选择。

Snappy的表现通常比LZO好。值得运行测试,看看您是否检测到显著差异。

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

与Snappy相比,GZIP对数据的压缩能力提高了30%,在读取GZIP数据时,CPU的压缩能力提高了2倍。

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

对于长期/静态存储,GZip压缩仍然更好。

请参阅本文中的广泛研究和基准代码和结果(各种通用压缩算法的性能——其中一些速度快得令人难以置信!)。

 类似资料:
  • 使用的字符串: string='hello'+'\r\n'+'world' Java中的预期输出: out.getValue() f.write(Base64.b64Encode(Out.getValue())) F.Close() ByteArrayInputStream(压缩)); InputStreamReader(gis,“UTF-8”));

  • 本文向大家介绍Java实现文件压缩与解压的示例[zip格式,gzip格式],包括了Java实现文件压缩与解压的示例[zip格式,gzip格式]的使用技巧和注意事项,需要的朋友参考一下 Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术,可以对单个文件和任意级联文件夹进行压缩和解压,对于一些初学者来说是个很不错的实例。 zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅

  • 我们将Spring Boot/MVC和基于注释的java-config用于一系列RESTful服务,并且我们希望有选择地在一些API响应上启用HTTP GZIP流压缩。 我知道我可以在我的控制器和中手动完成这一操作,但是我们更愿意依赖Spring MVC基础结构(过滤器/etc)并让它自动执行JSON转换和压缩(即方法返回POJO)。

  • 在swift中似乎有两个相等运算符:双相等()和三相等(),这两者有什么区别?

  • Gzip 中间件 Gzip 中间件使用 gzip 压缩方案来对HTTP响应进行压缩。 使用 e.Use(middleware.Gzip()) 自定义配置 使用 e := echo.New() e.Use(middleware.GzipWithConfig(middleware.GzipConfig{ Level: 5, })) 配置 GzipConfig struct { // Skipp