快捷搜索:  汽车  科技

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)数据量小了 网络传输效率高了MapReduce中为什么要用压缩 因为压缩以后​可以看到压缩以后变小了​

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(1)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(2)

先来了解一下压缩 其实就是我们日常用的压缩

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(3)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(4)

可以看到有压缩方式 压缩格式

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(5)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(6)

可以看到压缩以后变小了

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(7)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(8)

MapReduce中为什么要用压缩 因为压缩以后

数据量小了 网络传输效率高了

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(9)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(10)

如果我们有100G 压缩以后变成10G那么再传输的时候 耗费Io就少很多 时间也少很多

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(11)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(12)

但是压缩就一定好吗?

可以看到压缩的数据 传输后 需要解压 那么这个压缩解压就需要 使用cpu 是很消耗cpu的

如果是运算密集型的job 应该少压缩 如果是io密集型的可以多用压缩.

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(13)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(14)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(15)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(16)

可以看到上面是MapReduce常用的压缩编码

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(17)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(18)

然后可以看到有一列是是否可切片这一列很重要对吧.

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(19)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(20)

然后上面是压缩性能的比较 各种方式 可以根据需要选择

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(21)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(22)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(23)

这里说个snappy 这个压缩很快

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(24)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(25)

去官网看看 可以看到可以达到250mb/s的压缩速度

然后解压可以达到500mb/s的速度很快了.

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(26)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(27)

可以看到压缩方式的选择 gzip是压缩率搞 但不支持切片

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(28)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(29)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(30)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(31)

选择的时候可以根据各种压缩方式的特点 以及需求来选择

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(32)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(33)

可以看到在MapReduce中 压缩可以在3个地方进行

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(34)

hadoop之初识mapreduce(大数据之-Hadoop3.xMapReduce数据压缩)(35)

在输入端 mapper输出端 以及reducer输出端 都应该使用哪种压缩?

可以看到如果数据量小于块大小 数据量不大 那么在输入端 要考虑压缩速度

如果数据量非常大 就要考虑支持切片 以及压缩的大小了

可以根据上面的说明选择.

猜您喜欢: