*** 找黑客暗语(黑客在 *** 上叫什么)

访客5年前黑客文章931

默认情况下,Map输出的结果会对Key进行默认的排序,但是有时候需要对Key排序的同时还需要对Value进行排序,这时候就要用到二次排序了。下面我们来说说二次排序

1、二次排序原理

我们把二次排序分为以下几个阶段

Map起始阶段

在Map阶段,使用job.setInputFormatClass()定义的InputFormat,将输入的数据集分割成小数据块split,同时InputFormat提供一个RecordReader的实现。在这里我们使用的是TextInputFormat,它提供的RecordReader会将文本的行号作为Key,这一行的文本作为Value。这就是自定 Mapper的输入是<LongWritable,Text> 的原因。然后调用自定义Mapper的map *** ,将一个个<LongWritable,Text>键值对输入给Mapper的map ***

Map最后阶段

在Map阶段的最后,会先调用job.setPartitionerClass()对这个Mapper的输出结果进行分区,每个分区映射到一个Reducer。每个分区内又调用job.setSortComparatorClass()设置的Key比较函数类排序。可以看到,这本身就是一个二次排序。如果没有通过job.setSortComparatorClass()设置 Key比较函数类,则使用Key实现的compareTo() ***

Reduce阶段

在Reduce阶段,reduce() *** 接受所有映射到这个Reduce的map输出后,也会调用job.setSortComparatorClass() *** 设置的Key比较函数类,对所有数据进行排序。然后开始构造一个Key对应的Value迭代器。这时就要用到分组,使用 job.setGroupingComparatorClass() *** 设置分组函数类。只要这个比较器比较的两个Key相同,它们就属于同一组,它们的 Value放在一个Value迭代器,而这个迭代器的Key使用属于同一个组的所有Key的之一个Key。最后就是进入Reducer的 reduce() *** ,reduce() *** 的输入是所有的Key和它的Value迭代器,同样注意输入与输出的类型必须与自定义的Reducer中声明的一致

接下来我们通过示例,可以很直观的了解二次排序的原理

相关文章

广州市精锐高端商务接待预约步骤【黄礼杰】

广州市精锐高端商务接待模特预约步骤【黄礼杰】 今日给大伙儿共享的內容是“广州市精锐高端商务接待模特预约步骤【黄礼杰】”,我是黄礼杰,来源于那曲地区,2020年28岁,做为岗位:造型艺术,我喜爱我的岗位...

一定要记住这3点,对90后创业很重要

要想自主创业的盆友记牢,自主创业是一个人的一个人去旅行,就代表着全过程很有可能艰辛,代表着很孤单。碰到困难你只有独自一人一个人默默地的承担。由于他人没法了解你的困难。因此90后创业的盆友,一定要想好下...

黑客喜欢用什么电脑(电脑黑客可以做什么)

黑客喜欢用什么电脑(电脑黑客可以做什么)

本文导读目录: 1、黑客用什么电脑配置 2、黑客喜欢什么笔记本电脑 3、黑客都用什么电脑 4、请问黑客应该使用什么配置的电脑? 5、黑客用什么电脑 用什么笔记本电脑 6、黑客比较喜...

著名黑客ko(黑客ko)-怎样防黑客

著名黑客ko(黑客ko)-怎样防黑客

著名黑客ko(黑客ko)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑客业务、黑客联盟...

搜索引擎优化教程?从搜索引擎角度分析网站优化方法

搜索引擎优化教程?从搜索引擎角度分析网站优化方法

搜索引擎优化教程(从搜索引擎角度分析网站优化方法)   一、什么是搜索引擎技术? 搜索引擎技术,是信息检索技术的一种实际应用,在互联网海量数据中,为用户提供进行信息检索服务。 Gerard S...

韩国抗日影戏《暗算》,高清中字版

[douban id=”25823132″ type=”movie”][/douban] 海内正在上映此片,韩国今年7月上映的,回响优越。 今天新放出下载,豆瓣评分8.3,豆瓣链接 影片在上海拍...