gpt4 book ai didi

hadoop - 运行多个 “light” mapreduce或单个 “heavy” mapreduce

转载 作者:行者123 更新时间:2023-12-02 21:03:22 26 4
gpt4 key购买 nike

我正在编写将在AWS EMR上运行的mapreduce程序。
我的程序从google ngram语料库中计算出概率。
我想知道运行一次可同时处理所有计算的mapreduce和一次处理一次计算的多个mapreduce之间是否有区别。
两者都不需要使用任何数据结构(数组,列表...)。
效率方面有区别吗?还是网络通讯?
两者都以相同的方式做着完全相同的事情,我只将 reducer 的工作分开计算。

最佳答案

是的,它们之间会有差异,但是差异的大小取决于您的map reduce程序。

造成差异的原因是,当您将运行多个光照贴图缩小程序时,将需要启动并执行多个贴图和缩小器,因为每个贴图缩小程序在启动时都需要分配容器,而应用程序主数据库必须为此来回通信在资源管理器和节点管理器之间,将生成新的日志文件,同样需要名称节点与数据节点之间的网络通信,还有许多其他开销。因此,如果您的程序不那么大,则单个重贴图缩小比各种轻贴图缩小更好。

但是,如果您的单个map reducer程序太大,太复杂,从而导致JVM和内存阻塞(除非集群硬件太小,否则不太可能发生这种情况),那么多个小型map reduce更为可行。

从您的问题来看,我有一个直觉,就是您的 map 缩小不是那么大,所以我建议您继续进行单个沉重的 map 缩小。

关于hadoop - 运行多个 “light” mapreduce或单个 “heavy” mapreduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com