MapReduce的传统定义表明它是“用于在群集上使用并行分布式算法处理大型数据集的编程模型。”
周末,我正在尝试使用MongoDB并尝试了一些简单的MapReduce查询。 (书中的基本单词计数问题)。 MongoDB表现得非常好,但后来我开始怀疑它实际上是MapReduce操作,还是只是一个简单的group-by聚合,因此我的问题是:
如果是单节点“群集”,使用MapReduce是否有意义?
答案 0 :(得分:0)
MapReduce的传统定义表明它是一种用于在群集上使用并行分布式算法处理大型数据集的编程模型。"
我不需要在群集上,单个节点可以使用线程或进程实现map和reduce函数。在做map map时我不知道mongodb的内部动态,但我知道MongoDB中的map reduce与Hadoop没有相同的动态。
如果是单节点"集群",使用MapReduce是否有意义?
对于大量的数据映射和reduce函数需要在分布式环境中执行,所以没有我没有意义处理大数据(对于小尺寸数据,它是可以的)。
<强>意见强>
很抱歉,该部分不是答案,而是对讨论开放。在软件系统中,MongoDB的责任应该是保持数据不被处理。如果有数据处理要求(将是99%)MongoDB MapReduce可以使用,直到一定数量的数据大小(导入以确定阈值之前),然后应该传播到Hadoop集群。(或类似的分布式解决方案)