开发者社区 问答 正文

Shuffle的过程是什么?

Shuffle的过程是什么?

展开
收起
游客tbwjb5xynyh2u 2022-05-08 17:33:43 432 分享 版权
来自: 阿里技术
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
    赞同 展开评论
问答地址: