【发布时间】:2016-02-04 21:50:55
【问题描述】:
我是 Hadoop MapReduce 的新手,最近遇到了一个问题,即如何在映射器中对输出值进行分箱。我的映射器创建了一个 Text、IntWritable 输出,其中数据集 ID 作为键,元数据描述的长度作为值。我的目标是将元数据长度的频率分为 3 组:1-200 个字符、201-400 个字符和 401+ 个字符。输出文件如下(第一列是键,第二列是值 - 元数据的长度):
1 256
2 344
3 234
4 160
5 432
6 121
7 551
8 239
9 283
10 80
...
根据上面的值,分箱结果应该显示:
1-200 3
201-400 5
401-... 2
关于如何处理它的任何想法?我应该将其作为 Mapper 清理、Combiner 还是在 Reducer 中执行?代码示例或对其他在线资源的引用将不胜感激。谢谢你。
【问题讨论】:
标签: java hadoop mapreduce aggregation binning