我在MapReduce的Map阶段的大多数书籍/博客中都看到了这个数字/定义
我不理解的是在Map阶段,输入键是k,输出是一个不同的键k(破折号),我用Google搜索并在这个http://java.dzone.com/articles/confused-about-mapreduce上找到了一个简单的例子
我正在寻找更多的例子(理论上),同样的解释。地图缩小的输入和输出中的键不同。
如果有人可以提供相同的内容,我们将不胜如果我需要进一步解释我的问题,请告诉我。
答案 0 :(得分:0)
实际上这很直接。作为地图阶段输入的键是源数据具有的键,而从地图输出的键是您要按最终结果排序或分组的键。
重要的是要注意输入键取决于输入文件格式,例如如果输入是HBase,则密钥将是HBase密钥,在CSV文件中密钥将是行号
例如,如果你有一个序列文件,其中每一行都有一个SSN的密钥和一个名字是姓氏的值,你希望最终结果按姓氏排序,那么k in将是SSN和您将发出由名字连接的姓氏作为k'按顺序排列