MapReduce原理

来源:互联网 发布:库房管理软件 知乎 编辑:程序博客网 时间:2024/06/02 04:53

 MapReduce的工作过程分为两个阶段:map阶段和reduce阶段。每个阶段都有键/值对作为输入和输出,并且他们的类型可由程序员选择。程序员还具体定义了两个函数:map函数和reduce函数。
我们在map阶段输入的是原始的NCDC数据。我们选择的是一种文本输入格式,以便数据集的每一行都会是一个文本值。键是在文件开头部分文本起始处的偏移量,但我们没有这方面的需要,所以将其忽略。
map函数很简单。我们使用map函数来找出年份和气温,因为我们只对它们有兴趣。在本例中,map函数只是一个数据准备阶段,通过这种方式来建立数据,使得reducer函数能在此基础上进行工作:找出每年的最高气温。map函数也是很适合去除已损记录的地方:在这里,我们将筛选掉缺少的、不可靠的或错误的气温数据。