我正在使用一个有4个MapReduce steps.the的程序,我的第一步输出是:
id value
1 20
2 3
3 9
4 36我有大约1,000,000个i,在第二步中,我必须对此步骤的values.the输出进行排序:
id value
4 36
1 20
3 9
2 3如何在map reduce中对数据进行排序?我需要使用terasort吗?如果是,我如何在程序的第二步中使用terasort?谢谢。
发布于 2013-05-07 12:37:55
如果你想要根据value's排序,让它成为key in map函数。即
id value
1 20
2 3
3 9
4 36
5 3map函数中的(值)(键)
output will be
key value
3 5
3 2
9 3
20 1
36 4
map<value, id> output key/value
reduce <value, id>如果你想把id放在第一列,这是可行的。
Context.write(值,键);
请注意,id不会被排序
https://stackoverflow.com/questions/16402383
复制相似问题