hadoop上运行算法,节点越多时间越多

2025-01-04 11:53:33
推荐回答(2个)
回答1:

这个问题你得先了解 Hadoop一个Job处理时间大概由哪些因素组成:

  1. 处理时间 map reduce处理的时间

  2. 数据传输的时间==》数据的分发,map中间结果的本地写入,reduce端远程获取数据的时间

  3. 数据分片方面,中间结果的大小

  4. 数据的本地性,map和reduce在处理本节点的数据时,当然会很快和方面的多了;

综合上面的,可能还有其他的因素,你去考虑下自己的原因吧,

比如很小的数据集,却分了很多的数据片,分配了非常多的map或者reduce,这明显是不合理的,很多的时间都浪费在了数据传输的过程,毕竟这个过程是很慢的,相对于计算来说。。。。

回答2:

你的数据分块是不是不合理?还是数据量比较小?