问题就在标题中-什么时候使用压缩比较好?很好,我需要更快的处理。我的管道由多个mr作业组成,中间结果存储在序列文件中。数据是数字时间序列。而且,一个作业的输出与输入的大小相同。因此,传输/存储的数据可能很大。我想知道我是否可以期望由于压缩而加速,或者压缩/解压缩数据需要更多的时间?
isr3a4wc1#
使用快速编解码器(readsnappy)压缩中间数据几乎总是一个好主意。即使数据不可压缩,也不会受到太多的惩罚。
oxiaedzo2#
压缩不会影响您的工作,只要您知道您要实现什么,请确保您的压缩数据是可拆分的。我发现bzip2格式在压缩比和cpu使用方面更方便,但在数据集上使用不同格式进行内部测试更好。压缩有两大好处。1) 运行mapreduce作业时使用较少的磁盘空间(间歇输出和最终输出压缩)。2) 提高作业性能,因为我们在集群节点的洗牌阶段发送压缩数据。希望这会有帮助。
2条答案
按热度按时间isr3a4wc1#
使用快速编解码器(readsnappy)压缩中间数据几乎总是一个好主意。即使数据不可压缩,也不会受到太多的惩罚。
oxiaedzo2#
压缩不会影响您的工作,只要您知道您要实现什么,请确保您的压缩数据是可拆分的。我发现bzip2格式在压缩比和cpu使用方面更方便,但在数据集上使用不同格式进行内部测试更好。
压缩有两大好处。
1) 运行mapreduce作业时使用较少的磁盘空间(间歇输出和最终输出压缩)。2) 提高作业性能,因为我们在集群节点的洗牌阶段发送压缩数据。
希望这会有帮助。