网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

shuffle中关键阶段sort的示例分析

这篇文章主要介绍了shuffle中关键阶段sort的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

临西ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

源码中有这样一段代码

1. Map端排序获取的比较器

public RawComparator getOutputKeyComparator() {
  // 获取mapreduce.job.output.key.comparator.class,必须是RawComparator类型,如果没设置,是null
  Class 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排序使用的比较器
// 也是比较key
public RawComparator getOutputValueGroupingComparator() {
  Class theClass = getClass(
   JobContext.GROUP_COMPARATOR_CLASS, null, RawComparator.class);
  if (theClass == null) {
   return getOutputKeyComparator();
  }
  // 如果设置了,就使用设置的比较器
  return ReflectionUtils.newInstance(theClass, this);
 }

感谢你能够认真阅读完这篇文章,希望小编分享的“shuffle中关键阶段sort的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


网页题目:shuffle中关键阶段sort的示例分析
链接地址:http://bjjierui.cn/article/ghhjph.html

其他资讯