2016-03-04 118 views
5

我正在尝试使用Spark SQL来编写parquet文件。Spark SQL - gzip vs snappy与lzo压缩格式的区别

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

这些压缩格式与哪一个最适合使用Hive加载有什么区别。

+2

似乎默认的Spark采用 “瞬间”,而不是 “压缩”。至少这就是我在s3上看到的:使用字符串“snappy”创建的文件作为其名称的一部分。 – bashan

+0

@bashan:spark的最新版本将默认格式更改为snappy,直到1.6.1我可以看到默认parquet压缩格式为gzip。 – Shankar

回答

10

只需在您的数据上尝试一下。

lzo和snappy是快速压缩机和速度非常快的解压缩器,但压缩比较少,与gzip相比压缩更好,但速度稍慢。

5

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

星火时默认情况下,从GZIP切换到活泼的,这是一个道理:

根据我们的测试,gzip的减压是非常缓慢(< 100MB/S), 进行查询减压约束。 Snappy可以在单个内核上以〜500MB/s的速度解压缩到 。

斯纳皮:

  • 存储空间:高
  • CPU使用率:低
  • 裂开的:(1)

GZIP:

  • 存储空间:中等
  • CPU使用率:中
  • 裂开的:没有

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