hadoop的mapreduce编程模型中GroupingComparator的使用
来源:互联网 发布:iphone6s数据漫游 编辑:程序博客网 时间:2024/05/17 05:50
在Hadoop的mapreduce编程模型中,涉及到到的主要组件,可以分别对这些组件进行编程。
在Hadoop的mapreduce编程模型中,当在map端处理完成输出key-value对时,reduce端只会将key相同的到同一个reduce函数中去执行,如果现在map端输出的key是一个对像TextPair,,那这样每个map端到reduce都会变成如下形式(因为每个对象都不一样):
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
但是我们有个需求,该对象包含两个整型成员变量first和second,需要把map端输出的textPair中如果first相同,就让这个键值对和其他的对象一起到reduce函数中,如果textPair01中first=1,textPair02中first=1,textPair03中first=2,textPair04中first=1,那么textPair01,textPair02,textPair04
就会被同一个reduce函数处理:
- 1
- 1
可以使用hadoop中的GroupingComparator对其进行分组,先要定义一个类继承WritableComparator:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
在主函数中给job添加GroupingComparatorClass:
- 1
- 1
然后再reduce函数打上断点可以发现,下面的values长度为3,key的值为textPair01,并且当你对values的迭代器执行next()函数后,key的值会变成textPair02,但是还是在当前reduce函数中,并没有重新调用这个reduce函数。
阅读全文
0 0
- hadoop的mapreduce编程模型中GroupingComparator的使用
- hadoop的mapreduce编程模型中GroupingComparator的使用
- 关于在hadoop的mapreduce程序中使用GroupingComparator组件的注意事项
- 关于hadoop中GroupingComparator的作用
- Hadoop入门之自定义groupingcomparator和outputformat的使用
- Hadoop MapReduce编程模型
- Hadoop/MapReduce 使用马尔可夫模型的智能邮件营销
- MapReduce编程模型的要点
- MapReduce编程模型的要点
- MapReduce编程模型的认识
- hadoop中使用MapReduce编程实例
- hadoop中使用MapReduce编程实例
- hadoop中使用mapreduce编程实例
- hadoop中使用MapReduce编程实例
- hadoop中使用MapReduce编程实例
- Hadoop之MapReduce编程模型
- hadoop MapReduce模型的shuffle过程
- Hadoop中MapReduce的原理
- mybatis pageHelper + 通用mapper的使用
- php-curl获取接口图片地址,在php拼接img中无法访问,报403错误,在浏览器url中直接可以访问,html页面里img也可以访问
- java新手上路(六):分形的艺术
- Logger---使你的日志更简单漂亮强大!
- 互不侵犯King
- hadoop的mapreduce编程模型中GroupingComparator的使用
- Spark Streaming基本概念
- CSS强制文本不换行、溢出处理
- arduino远程刷新(烧录)固件
- 字符串及字符串常量池
- Nginx rewirte规则详解-转于老僧系列Nginx
- nginx location的正则匹配规则
- MySQL数据库5.6版本首次安装Root密码问题
- Android官方架构组件介绍之LifeCycle