MapReduce 是一种编程模型,用于大规模数据集(大于 1TB)的并行运算,它极大地方便了编 程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。在软件实现是通过指定一个 Map(映射)函数,把一组键值对映射成一组新的键值对,指定并发的 Reduce(规约) 函数,来保证所有映射的键值对中的每一个共享相同的键组。 MapReduce 任务过程被分为两个处理阶段:map 阶段和 reduce 阶段。每个阶段都以键/值对 作为输入和输出,并由程序员选定它们的类型。程序员还需要具体定义 map 函数和 reduce 函 数。