开发者社区> 问答> 正文

Shuffle的过程是什么?

Shuffle的过程是什么?

展开
收起
游客tbwjb5xynyh2u 2022-05-08 17:33:43 388 0
来自:阿里技术
1 条回答
写回答
取消 提交回答
  • Mapper在首次PushData时请求Master分配Worker资源,Worker记录自己所需要服务的Partition列表。 Mapper把Shuffle数据缓存到内存,超过阈值时触发Push。 隶属同个Partition的数据被Push到同一个Worker做合并,主Worker内存接收到数据后立即向从Worker发起Replication,数据达成内存两副本后即向Client发送ACK,Flusher后台线程负责刷盘。 Mapper Stage运行结束,MetaService向Worker发起CommitFiles命令,把残留在内存的数据全部刷盘并返回文件列表。 Reducer从对应的文件列表中读取Shuffle数据。

    2022-05-09 16:42:27
    赞同 展开评论 打赏
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载