优秀网站大全自媒体平台注册账号教程

pingmian/2025/10/13 8:45:34/文章来源:
优秀网站大全,自媒体平台注册账号教程,wordpress文字验证码,网站免费的不用下载Hadoop学习笔记—10.Shuffle过程那点事儿 一、回顾Reduce阶段三大步骤 在第四篇博文《初识MapReduce》中#xff0c;我们认识了MapReduce的八大步骤#xff0c;其中在Reduce阶段总共三个步骤#xff0c;如下图所示#xff1a; 其中#xff0c;Step2.1就是一个Shuffle操作我们认识了MapReduce的八大步骤其中在Reduce阶段总共三个步骤如下图所示   其中Step2.1就是一个Shuffle操作它针对多个map任务的输出按照不同的分区Partition通过网络复制到不同的reduce任务节点上这个过程就称作为Shuffle。 PSHadoop的shuffle过程就是从map端输出到reduce端输入之间的过程这一段应该是Hadoop中最核心的部分因为涉及到Hadoop中最珍贵的网络资源所以shuffle过程中会有很多可以调节的参数也有很多策略可以研究这方面可以看看大神董西成的相关文章或他写的MapReduce相关书籍。 二、Shuffle过程浅析   上图中分为Map任务和Reduce任务两个阶段从map端输出到reduce端的红色和绿色的线表示数据流的一个过程也我们所要了解的Shuffle过程。 2.1 Map端   1在map端首先接触的是InputSplit在InputSplit中含有DataNode中的数据每一个InputSplit都会分配一个Mapper任务Mapper任务结束后产生K2,V2的输出这些输出先存放在缓存中 每个map有一个环形内存缓冲区用于存储任务的输出。默认大小100MBio.sort.mb属性一旦达到阀值0.8(io.sort.spil l.percent)一个后台线程就把内容写到(spill)Linux本地磁盘中的指定目录mapred.local.dir下的新建的一个溢出 写文件。 总结map过程的输出是写入本地磁盘而不是HDFS但是一开始数据并不是直接写入磁盘而是缓冲在内存中缓存的好处就是减少磁盘I/O的开销提高合并和排序的速度。又因为默认的内存缓冲大小是100M当然这个是可以配置的所以在编写map函数的时候要尽量减少内存的使用为shuffle过程预留更多的内存因为该过程是最耗时的过程。   2写磁盘前要进行partition、sort和combine等操作。通过分区将不同类型的数据分开处理之后对不同分区的数据进行 排序如果有Combiner还要对排序后的数据进行combine。等最后记录写完将全部溢出文件合并为一个分区且排序的文件。   3最后将磁盘中的数据送到Reduce中从图中可以看出Map输出有三个分区有一个分区数据被送到图示的Reduce任务中剩下的两个分区被送到其他Reducer任务中。而图示的Reducer任务的其他的三个输入则来自其他节点的Map输出。 补充在写磁盘的时候采用压缩的方式将map的输出结果进行压缩是一个减少网络开销很有效的方法关于如何使用压缩在本文第三部分会有介绍。 2.2 Reduce端   1Copy阶段Reducer通过Http方式得到输出文件的分区。   reduce端可能从n个map的结果中获取数据而这些map的执行速度不尽相同当其中一个map运行结束时reduce就会从 JobTracker中获取该信息。map运行结束后TaskTracker会得到消息进而将消息汇报给JobTrackerreduce定时从 JobTracker获取该信息reduce端默认有5个数据复制线程从map端复制数据。   2Merge阶段如果形成多个磁盘文件会进行合并   从map端复制来的数据首先写到reduce端的缓存中同样缓存占用到达一定阈值后会将数据写到磁盘中同样会进行partition、 combine、排序等过程。如果形成了多个磁盘文件还会进行合并最后一次合并的结果作为reduce的输入而不是写入到磁盘中。  3Reducer的参数最后将合并后的结果作为输入传入Reduce任务中。 总结当Reducer的输入文件确定后整个Shuffle操作才最终结束。之后就是Reducer的执行了最后Reducer会把结果存到HDFS上。 三、Hadoop中的压缩   刚刚我们在了解Shuffle过程中看到map端在写磁盘的时候采用压缩的方式将map的输出结果进行压缩是一个减少网络开销很有效的方法。其实在Hadoop中早已为我们提供了一些压缩算法的实现我们不用重复造轮子了。 3.1 解压缩算法的实现Codec   Codec是Hadoop中关于压缩解压缩的算法的实现在Hadoop中codec由CompressionCode的实现来表示。下面是一些常见压缩算法实现如下图所示 3.2 MapReduce的输出进行压缩   1MapReduce的输出属性如下所示   2在Java中如何针对输出设置压缩 ★★★   上图中在reduce端输出压缩使用了刚刚Codec中的Gzip算法当然你也可以使用bzip2算法 参考资料 1董西成《Hadoop中shuffle阶段流程分析》http://dongxicheng.org/mapreduce/hadoop-shuffle-phase/ 该文对Shuffle阶段的一些不足做出了分析并给出了几个目前流行的解决办法 2左坚《Hadoop计算中的shuffle过程》http://www.wnt.com.cn/html/news/tophome/top_xytd/top_xytd_jswz/bbs_service/20130711/111140562.html 3皮皮家的程序猿《Hadoop中的shuffle过程》http://www.cnblogs.com/zhangcm/archive/2012/11/23/2784495.html 4Suddenly《MapReduce排序和分组》http://www.cnblogs.com/sunddenly/p/4009751.html   作者周旭龙 出处http://edisonchou.cnblogs.com/ 本文版权归作者和博客园共有欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文链接。 转载于:https://www.cnblogs.com/1130136248wlxk/p/4975110.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业做网站etp和源程序wordpress采集微信文章

要了解七类网线如何使用?需要掌握这四个问题:1、什么是七类网线?2、七类网线与六类网线有什么区别?3、七类网线用什么水晶头?如何制作7类网线水晶头?4、7类网线的应用场景?带着这四个问题&#…

阿里云网站建设部署与发布试题答案asp.net 网站开发项目

一、市场上的NRF24L01模块有三种 二、模块的引脚接口 标准的4线SPI接口 三、寄存器操作命令以及寄存器地址 四、两个NRF24L01模块能够成功通信需要满足的条件 五、两个NRF24L01模块通信连接示意图

网站开发项目的部署太原做网站费用

Java集合Java集合框架:是一种工具类,就像是一个容器可以存储任意数量的具有共同属性的对象。Java集合中成员很丰富,常用的集合有ArrayList,HashMap,HashSet等。线程安全的有Vector,HashTable。线程不安全的…

多语言网站建设 技术企业网站建设费用属于什么科目

目录 一、环境说明 二、部署Hbase 2.1 解压Hbase 2.2 移动解压包 2.3 修改 hbase-env.sh文件 2.4 修改环境变量 2.5 修改hbase-site.xml文件 2.6 修改regionservers 文件 2.7 分发hbase 2.7.1 分发hbase包 2.7.2 分发环境配置 2.8 启动hbase服务 2.8.1 环境生效 …

怎样做网站 网页怎么进行网站维护

漏洞介绍: 漏洞名称: Apache Tomcat反序列化漏洞影响范围: Apache Tomcat服务器中使用了自带session同步功能的配置,且没有使用Encrypt Interceptor加密拦截器的情况下。漏洞描述: Apache Tomcat是一个基于Java的Web应用软件容器,用于运行servlet和JSP Web应用。当Tomc…

p2p网站建设要点开源php建站系统

文章目录目录1.什么是用户行为数据?1.1用户行为分类2.用户行为数据如何使用?2.1 用户活跃度和物品流行度的分布2.2 用户活跃度和物品流行度的关系2.3 协同过滤算法3.实验设计和算法评测4.基于邻域的的推荐算法4.1 基于用户的协同过滤算法4.2 基于物品的协…

深圳做的好的电子行业招聘网站衡阳网站排名

编译型语言与解释型语言 首先要说明,编译型语言与解释型语言这种分类方法是不科学的,或者说已经过时了,但是这种称呼大抵还是能够让人明白我们将要讨论的是什么东西。 文中所列参考是笔者认为比较有帮助的一些扩展阅读内容。 首先贴一个很形…

十堰微网站建设北京移动端网站

随着物联网(IoT)技术的快速发展,越来越多的企业开始将其生产设备与物联网系统连接起来,以实现更高效、更智能的生产方式。在这个过程中,工业网关扮演着至关重要的角色。 工业网关是一种专门用于连接工业生产设备与物联…

广州物流网站开发网页版whatsapp

1.导读 GPS定位精度高,且早已成为移动设备标配,但GPS也具有一些难以克服的缺陷,包括: 冷启动时间长。GPS启动时,需要进行搜星,锁定卫星信号,然后再进行位置技术,这个过程可能会达到…

apache建设多个网站centos 7.2 做网站

本文摘要:本文已解决 Python FileNotFoundError 的相关报错问题,并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领…

万网域名注册网站如何做好优化

项目场景: 在node項目中,使用electron做界面化開發碰到的一些問題: 前期準備 安裝node:建議安裝最新的長期支持版本,都使用新版本不用考慮版本兼容問題Node.js — 在任何地方运行 JavaScript配置代理服務&#xff1a…

大兴企业网站建设公司广州市增城区建设局网站是什么

前言:Hello大家好,我是小哥谈。PP-LCNet是一个由百度团队针对Intel-CPU端加速而设计的轻量高性能网络。它是一种基于MKLDNN加速策略的轻量级卷积神经网络,适用于多任务,并具有提高模型准确率的方法。与之前预测速度相近的模型相比…

学校官方网站网页设计网站开发产品设计公司

String 对象可谓再熟悉不过了,与此相关的面试题经常会引出内存性能优化的问题,本篇主要以 new String("123") 创建了几个对象为例记录。 一、你能回答正确吗 String a "123"; 如上定义的为常量; String b a "456&…

合肥网站开发招聘免费搭建个人服务器

GDB 1. GDB调试器1.1 前言1.2 GDB编译程序1.3 启动GDB1.4 载入被调试程序1.5 查看源码1.6 运行程序1.7 断点设置1.7.1 通过行号设置断点1.7.2 通过函数名设置断点1.7.3 通过条件设置断点1.7.4 查看断点信息1.7.5 删除断点 1.8 单步调试1.9 2. GDB调试core文件2.1 设定core文件的…

建网站多少钱一个平台网页制作与设计src什么意思

题目 给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出: 1、单词内部调整:对每个单词字母重新按字典序排序 2、单词间顺序调整: 1)统计每个单词出现的次数,并按次数降序…

怎样做旅游摄影网站高并发 wordpress

ASP.NET Web API如何接受来自AngualrJS的QueryString呢?本篇体验两种方式。 第一种方式:http://localhost:49705/api/products?searchGDN 这种方式是QueryString原生的格式。 首先,把当前的域名和端口号放到一个自定义的module中去。 1 (fun…

系网站建设工作总结深圳短视频关键词搜索排名推广

首先,定义问题:在 Pip 中设置HTTP爬虫IP服务器,以便在网络上进行访问和下载。 亲身经验:我曾经遇到过类似问题,通过设置HTTP爬虫IP服务器成功解决了网络访问问题。 数据和引证:根据 pip 官方文档&#xff…

php论坛网站源码下载网站维护服务

正题 题目链接:https://www.luogu.com.cn/problem/CF280D 题目大意 一个长度为nnn的序列,mmm次操作 修改一个数询问一个区间中选出kkk段不交子段使得和最大 1≤n≤105,1≤m≤2105,1≤k≤201\leq n\leq 10^5,1\leq m\leq 2\times 10^5,1\leq k\leq 201≤n≤105,1≤…

柳州市诚信体系建设网站青岛 网站优化

1 自我介绍 2 快手实习 2.1 讲讲你写的curd启动器,做了哪些工作呢 答: 2.2 网上也有一些开源的curd代码生成器,你为什么需要自研呢(重要) 答: (1)这个必须得自研,因…

常州建设工程交易网站煎蛋wordpress二次开发

撰稿|行星 来源|贝多财经 9月5日,乐舱物流股份有限公司(下称“乐舱物流”)通过港交所上市聆讯,并披露了通过港交所聆讯后的资料集(即招股书),中信证券和农银国际为其联席保荐人。 成立于2004…