为什么要使用压缩
随着数据量越来越大,对数据如何处理使得我们提高数据处理效率,如何选择和使用压缩就显得尤为重要。
压缩的优点:
1)减少文件大小(reduce file size)
2)节省磁盘空间(svae disk space)
3)增加网络传输速度及效率(Increase tansfer speed at a given data rate)
压缩技术
压缩分为无损压缩(Lossless Compression)和有损压缩(Lossy Compression)。
无损压缩一般适用于用户行为数据这类不允许数据丢失的业务场景、
有损压缩一般适用于大文件的压缩,例如图片、视频的处理,优点是压缩率和压缩比都比较高,可以节省更多的空间。
以离线数据处理为例:
分为三个业务场景,输入、中间、输出。日志采集压缩输入HDFS,解压通过Spark/MapReduce计算,再压缩存入对应的数据源。
压缩对比
压缩可以带来入前文所说的好处,但是,在压缩的同时对CPU的消耗也相对较高,那么在压缩的时候就要做最优选择,做性价比最高的压缩处理。
压缩格式 | 压缩工具 | 算法 | 文件名扩展 | 是否支持分割 |
---|---|---|---|---|
gzip | gzip | default | .gz | × |
bzip2 | bzip2 | bzip2 | .bz2 | √ |
LZO | LZO | LZO | .lzo | √(Yes if indexed) |
LZ4 | LZ4 | LZ4 | .lz4 | ×</ |