大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下Hadoop中的Shuffle是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联公司是一家集网站建设,林甸企业网站建设,林甸品牌网站建设,网站定制,林甸网站建设报价,网络营销,网络优化,林甸网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
Shuffle描述着数据从Map Task输出到Reduce Task输入的这段过程。
Map端:
1、每个Map有一个环形内存缓冲区,用于存储任务的输出,默认大小100MB(io.sort.mb属性),一旦达到阀值
0.8(io.sort.spill.percent),一个后台线程把内容写到(spill)磁盘的指定目录(mapred.local.dir)下的新建的一个
溢出文件。
2、在写入磁盘前,要Partitioner,Sort,如果有Combiner(聚合),Combiner排序后在写入数据。
3、等最后把记录写完,合并全部溢出写文件为一个分区且排序的文件。
Reduce端:
1、Reduce通过Http方式得到输出的文件的分区。
2、TaskTracker为分区文件运行Reduce任务。复制阶段把Map输出复制到Reduce的内存或磁盘。一个Map任 务完成,Reduce就开始复制输出。
3、排序阶段合并Map输出,然后走Reduce阶段。
注意:在有些情况下,也有可能没有任何的Reduce,当前数据处理可以完全并行时,即无需混洗(shuffle),可能
会出现无Reduce任务的情况,在这种情况下,唯一的非本地节点数据传输是Map任务将结果写入HDFS.
以上是“Hadoop中的Shuffle是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!