排序概述| 学习笔记

简介: 快速学习排序概述

开发者学堂课程【Hadoop 分布式计算框架 MapReduce:排序概述】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/94/detail/1519


排序概述


1、排序是 MapReduce 框架中最重要的操作之一。

2、MapTask 和 ReduceTask 均会对数据按照 key 进行排序。

该操作属于 Hadoop 的默认行为。

任何应用程序中的数据均会被排序,而不管逻辑上是否需要。

3、默认排序是按照字典顺序排序,且实现该排序的方法是快速排序。

4、对于 MapTask,它会将处理的结果暂时放到环形缓冲区中,当环形缓冲区使用率达到一定阈值后,再对缓冲区中的数据进行一次快速排序,并将这些有序数据溢写到磁盘上,而当数据处理完毕后,它会对磁盘上所有文件进行归并排序。

5、对于 ReduceTask,它从每个 MapTask 上远程拷贝相应的数据文件,如果文件大小超过一定阈值,则溢写磁盘上,否则存储在内存中。

如果磁盘上文件数目达到一定阈值,则进行一次归并排序以生成一个更大文件;如果内存中文件大小或者数目超过一定阈值,则进行次合并后将数据溢写到磁盘上。

当所有数据拷贝完毕后,ReduceTas 统一对内存和磁盘上的所有数据进行一次归并排序。

相关文章
|
JSON Ubuntu Java
Elasticsearch聚合学习之四:结果排序
在前面的实战中,聚合的结果以桶(bucket)为单位,放在JSON数组中返回,这些数据是没有排序的,今天来学习如何给这些数据进行排序
449 0
Elasticsearch聚合学习之四:结果排序
各种基础排序的超详细解析及比较
各种基础排序的超详细解析及比较
40 0
|
7月前
|
存储 搜索推荐
排序的基本概念
排序的基本概念
|
存储 移动开发 算法
八大排序(一)--------排序的基本概念与分类
八大排序(一)--------排序的基本概念与分类
73 0
【面试题精讲】如何使用Stream的聚合功能
【面试题精讲】如何使用Stream的聚合功能
|
机器学习/深度学习 搜索推荐 算法
算法:排序(上篇)
算法:排序(上篇)
80 0
|
存储 算法 搜索推荐
|
人工智能 算法 搜索推荐
|
自然语言处理 索引
EleasticSearch(四)进阶查询
EleasticSearch(四)进阶查询
186 0