IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MapReduce中的Shuffle机制 -> 正文阅读

[大数据]MapReduce中的Shuffle机制

一、概念

????????Mapreduce确保每个reducer的输入都是按键排序的。系统执行排序的过程(Map方法之后,Reduce方法之前的数据处理过程)称之为Shuffle。

二、Shuffle包括哪些阶段

????????Shuffle包括MapTask工作中的Collect收集阶段Spill阶段Combine(merge)阶段以及ReduceTask工作中的Copy阶段Merge阶段Sort阶段

?????????Shuffle是从map()函数执行结束后开始的,首先将map()方法处理的数据写入环形缓冲区,注意这个环形缓冲区是从中间分开的,右半边写数据,左半边写数据的索引,环形缓冲区默认是在内存当中的,默认大小为100M,在超过80%时,把这80%的数据经过分区、排序,再溢写到磁盘;剩下的20%继续接收map输来的数据。在溢写结束后, 我们可以选择Combiner对数据进行一次简单的合并操作,为了减少服务端的压力。由于有多次溢写操作,会生成很多小文件,那么在Shuffle机制中就需要一次归并排序。将溢出的小文件合并成一个个大文件,此时每个分区的数据就合在一起了,再进行排序操作,在排序过程中还可以使用Combiner。接下来可以使用压缩操作将大文件压缩,优化网络中的传输效率。最终将数据写入磁盘中。

??????? 接下来,进行Reduce操作,先将不同map()方法输出的数据中相同分区的数据拷贝到内存缓冲中,内存缓冲不够就溢出到磁盘。接下来对每个map来的数据归并排序,接下来按照相同key分组,最后调用Reduce方法。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 11:48:52  更:2021-08-16 11:50:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:21:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码