发布时间:2018-06-25 20:13:56
TopN算法是一个经典的算法,由于每个map都只是实现了本地的TopN算法,而假设map有M个,在归约的阶段只有M x N个,这个结果是可以接受的并不会造成性能瓶颈。这个TopN算法在map阶段将使用TreeMap来实现排序,以到达可伸缩的目的。实现步骤: 1、在mapper中定义TreeMap 将输入数据按put到TreeMap中,如果TreeMap.........【阅读全文】
发布时间:2018-06-21 20:11:03
在map中进行join步骤:1、在驱动中加载文件到 hdfs缓存中2、在map的 setup函数中,读取缓存内容,放入HashMap中3、在map函数中读取,根据key读取对应的值,在map中进行join具体实现如下:点击(此处)折叠或打开import org.apache.commons.lang.StringUtils;.........【阅读全文】
发布时间:2018-06-19 23:14:11
MapReduce默认输出是在单个reduce中以key排序的,多个reduce输出之间是不排序的, 所谓全排序,就是指多个reduce之间的输出是有序的。 实现全排序有三种方法: 1、 使用一个reduce进行输出 MapReduce 默认是以key排序的,使用一个reduce,就可以实现全排序。 这种方法简单,但不能充分利用集群.........【阅读全文】
发布时间:2018-06-15 18:41:49
总结: 1、当reducenum 设置为1时,自定义的分区函数不会被调用,这可以理解 2、在实现compare 函数时要要注意,两个对象firstKey值不相等是要直接返回,只有两个相等时,才比较secondKey,自己在实现是没有注意到这个问题随便写了,调试半天没有发现问题。 错误写法如下: &nbs.........【阅读全文】