Hive压缩

发布 : 2016-02-12 分类 : 大数据 浏览 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
主要介绍的hive数据的压缩,和窗口函数

为什么需要压缩?
压缩以后存储空间会小很多,
涉及到传输数据的话,传输的数据会节省很多时间,比如你的数据是100M你要传输到网络上去是不是需要100M,但是你如果压缩过后你只需要20M呢?

那么这样的话,网络的开销会小很多。

1、节省磁盘空间
2、网络传输,开销也小了很多

特别是在真实的场景下,我们有很多数据是冗余的,在这种情况下,如果我们压缩的话,是一种很好的解决方式

社区常用的压缩:

1> 有损的压缩

2> 无损的压缩

1、在无损的压缩情况下,原始的数据指的是没有压缩前的数据,跟压缩后再解压是完全一样的,没有数据丢失,也不允许数据丢失

2、压缩的过程中,冗余的数据会被移走,但是会对移走的数据做标记,在解压的时候,确保这些数据移回来

压缩前和压缩后,解压前和解压后你的数据是完全对等的,不允许出现误差

对于这种无损的压缩,在使用过程中我们是不能接受它的处理过程当中有任何的数据丢失,比如说一些法律的文档和医药的文档

重要的东西,不允许有压缩的东西丢失我们就可以用这种无损的压缩

有损的压缩,我们可以用来压缩这些东西,图片、音乐、凭我们的肉眼我们是不能区分出来有什么变化的(丢失的一些数据我们是就可以接受的,也就是允许丢失部分数据的压缩格式)

数据压缩也是一个权衡的过程,也不是说任何数据压缩都是有好处的,

压缩数据的确可以提高IO的执行速度,

对于查询、insert等操作来说,压缩的确会使得数据提高

压缩数据的确可以减少磁盘空间,提高数据网络传输的速度

但是可以减少网络开销等等

另一方面,压缩过后的数据,对于CPU的利用是要增加的

换言之,就是利用CPU使用率的提高换取查询速度的提高(前提:集群中CPU够用、有剩余)

常用的数据压缩的格式

1
2
3
4
5
Compression Mode: bzip2,gzip,lzo,snappy

Compression Ratio: bzip2 > gzip > lzo

Compression Speed: lzo > gzip > bzip2

Compression Ratio:

Compression Speed:

Compression Ratio / Compression Speed

Compression in Hive:

1
对于Hadoop来说,它的瓶颈其实是在IO上面
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/02/12/hive压缩/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹