温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hadoop中的Shuffle是什么

发布时间:2021-12-09 15:45:35 来源:亿速云 阅读:174 作者:小新 栏目:云计算

小编给大家分享一下Hadoop中的Shuffle是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI