当说训练数据对于同一逻辑的非并行计算太大时,可以证明迭代MapReduce的并行计算是正确的吗?
我知道启动MapReduce作业有开销。 当需要大量迭代时,这对于总体执行时间至关重要。
我可以想象,只要内存允许在很多情况下保存数据集,顺序计算比使用迭代MapReduce的并行计算更快。
答案 0 :(得分:1)
在大多数情况下,如果一台机器完成工作,那么并行处理系统就没有多大意义。与大多数并行化任务相关的复杂性非常重要,需要有充分的理由来使用它。
即使很明显在没有并行处理的情况下也无法在可接受的时间内解决任务,并行执行框架会有不同的风格:从较低级别的,面向科学的工具,如PVM or MPI到高级等级,专门(例如map / reduce)框架,如Hadoop。
您应该考虑的参数包括开始时间和可扩展性(系统规模的接近线性)。如果您需要快速获得答案,Hadoop将不是一个好的选择,但如果您可以使您的流程适应map-reduce框架,则可能是一个不错的选择。
答案 1 :(得分:0)
你可以参考项目HaLoop(http://code.google.com/p/haloop)来解决这个问题。