用于分析不能装入内存的数据集的编程技术
调试mapreduce
检查键值对如何在不同阶段移动的算法总是有用的。要检查数据的移动,请在map和reduce函数中设置断点。断点停止执行mapreduce
,允许您检查相关变量的当前状态,例如KeyValueStore
或ValueIterator
。有关更多信息,请参见调试MapReduce算法。
优化的一些建议mapreduce
在任何平台上的性能是:
最小化对map函数的调用次数。最简单的方法就是增加价值ReadSize
属性的输入数据存储。结果是mapreduce
将更大的数据块传递给map函数,读取次数越少,数据存储就会耗尽。
减少map和reduce函数之间发送的中间数据量。一种方法是使用独特的
在map函数内组合类似的键。看到使用MapReduce按组计算平均值这个技术的一个例子。