您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
shuffle什么意思(shuffle为什么是随机)
数据,文件,阶段shuffle什么意思(shuffle为什么是随机)
发布时间:2019-02-08加入收藏来源:互联网点击:
很多朋友想了解关于shuffle的一些资料信息,下面是小编整理的与shuffle相关的内容分享给大家,一起来看看吧。很多朋友想了解关于大数据的一些资料信息,下面是小编整理的与大数据相关的内容分享给大家,一起来看看吧。
大数据是当今炙手可热的行业,想要学好大数据,需要了解的东西很多。shuffle作为MapReduce框架中最关键的进程,非常重要。所以今天我们来看看洗牌的过程。让我们来看看吧。
在如何将Map阶段处理的数据传输到reduce阶段,Shuffle起着关键作用。shuffle分布在MapReduce的map阶段和reduce阶段。
地图的洗牌过程:主要包括输出、排序、覆盖、合并步骤,如下图所示:
1.collect:每个Maptask输出数据到对应的循环缓冲区Kvbuffer。循环数据结构用于更有效地使用内存空间,并将尽可能多的数据放入内存。
2.排序:当数据合并时,将进行排序操作。由于在MapTask阶段已经对数据进行了本地排序,ReduceTask只需要确保复制数据的最终整体有效性。
3.溢出:当内存中的数据量达到一定阈值时,会产生溢出文件,循环缓冲区中的原始数据会被写入文件中,并根据上一步排序的元数据对原始数据进行排序。
由于Maptask处理的数据可能需要多次覆盖才能写入,因此每个Maptask可能会生成多个覆盖文件。最后,如果留在环形缓冲区的数据不满足阈值条件,将被强制刷出生成溢出文件。
4.merge:reduce task远程复制数据时,后台会打开两个线程将数据文件从内存合并到本地。
5.copy:reduce任务通过HTTP将需要的数据拖拽到每个Map任务中。每个节点都会启动一个常驻的HTTP服务器,它的服务之一就是响应Reduce和drag地图数据。当有来自MapOutput的HTTP请求时,HTTP server在对应的MAPOUTPUT文件中读取这个Reduce部分对应的数据,通过网络流输出给Reduce。
6.排序合并排序合并:从多个maptask中拖出每个分区的数据,然后合并排序到一个文件中。最后,每个分区的文件被分区组件的逻辑划分到不同的reducetask中。
以上是洗牌过程的详细说明。不知道大家有没有一定的了解。大数据有很多框架,有些重要的点需要透彻理解。想了解更多详情,请点击成都Gamigu大数据官网!
本文到此结束,希望对大家有所帮助呢。
上一篇:啊扶着她的腰直挺(感觉腰挺不直)
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |