shuffle中关键阶段sort的示例分析
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍了shuffle中关键阶段sort的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。源码中有这样一段代码1. M
千家信息网最后更新 2025年11月11日shuffle中关键阶段sort的示例分析
这篇文章主要介绍了shuffle中关键阶段sort的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
源码中有这样一段代码
1. Map端排序获取的比较器
public RawComparator getOutputKeyComparator() { // 获取mapreduce.job.output.key.comparator.class,必须是RawComparator类型,如果没设置,是null Class extends RawComparator> theClass = getClass( JobContext.KEY_COMPARATOR, null, RawComparator.class); // 如果用户自定义了这个参数,那么实例化用户自定义的比较器 if (theClass != null) return ReflectionUtils.newInstance(theClass, this); // 默认情况,用户是没用自定义这个参数 // 判断Map输出的key,是否是WritableComparable的子类 // 如果是,调用当前类的内部的Comparator! return WritableComparator.get(getMapOutputKeyClass().asSubclass(WritableComparable.class), this); }总结: 如何对感兴趣的数据进行排序?
① 数据必须作为key
② 排序是框架自动排序,我们提供基于key的比较器,也就是Comparator,必须是RawComparator类型
a) 自定义类,实现RawComparator,重写compare()
指定mapreduce.job.output.key.comparator.class为自定义的比较器类型
b)key实现WritableComparable(推荐)
③ 实质都是调用相关的comparaTo()方法,进行比较
2. Reduce端进行分组的比较器
RawComparator comparator = job.getOutputValueGroupingComparator();// 获取mapreduce.job.output.group.comparator.class,必须是RawComparator类型// 如果没用设置,直接获取MapTask排序使用的比较器// 也是比较keypublic RawComparator getOutputValueGroupingComparator() { Class extends RawComparator> theClass = getClass( JobContext.GROUP_COMPARATOR_CLASS, null, RawComparator.class); if (theClass == null) { return getOutputKeyComparator(); } // 如果设置了,就使用设置的比较器 return ReflectionUtils.newInstance(theClass, this); }感谢你能够认真阅读完这篇文章,希望小编分享的"shuffle中关键阶段sort的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
比较器
排序
篇文章
类型
用户
示例
阶段
中关
分析
兴趣
参数
数据
也就是
代码
价值
同时
子类
实例
实质
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
清华大学网络安全在职硕博
若您的网络安全性由wlan
成都边锋领沃网络技术招聘
数据库安全性控制注意的地方
u8数据库安装顺序
传世db数据库编辑器
绍兴app软件开发要求
天津拓宇网络技术有限公司
数据库 半同步
安庆电力软件开发费用
st558服务器电源型号
手机怎么注册网络服务器
中学网络安全教育大赛
上网时应当如何注意网络安全
csgo因韩国服务器维修
委托软件开发进什么费用
服务器关机自动关闭程序
大学生软件开发团队简介
数据库系统与应用ER图
信用数据库维护由
网络安全公司 奔
网络安全技能大赛都包括什么
软件开发流程图用什么工具
数据库图表设计模板
安徽戴尔服务器现货
网站后台数据库找不到
支付宝同步服务器
dell服务器r530配置
供电所护网行动网络安全
香港联想服务器保修