[发明专利]通用流式Shuffle引擎的实现方法、装置、设备及存储介质有效
| 申请号: | 201810761504.3 | 申请日: | 2018-07-12 |
| 公开(公告)号: | CN109189746B | 公开(公告)日: | 2021-01-22 |
| 发明(设计)人: | 张建伟;宋展 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
| 主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/17 |
| 代理公司: | 北京鸿德海业知识产权代理有限公司 11412 | 代理人: | 袁媛 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 通用 shuffle 引擎 实现 方法 装置 设备 存储 介质 | ||
本发明公开了通用流式Shuffle引擎的实现方法、装置、设备及存储介质,其中方法包括:Shuffle获取dce writer在内存中进行计算的同时发送给Shuffle的数据;当每次符合预定条件时,Shuffle将获取到的数据在内存中进行排序后写入到HDFS,以便dce reader从HDFS中读取自身对应的数据。应用本发明所述方案,能够减少大量I/O等。
【技术领域】
本发明涉及计算机应用技术,特别涉及通用流式Shuffle引擎的实现方法、装置、设备及存储介质。
【背景技术】
在当今数据大爆炸时代,各行各业都在努力从海量数据中挖掘价值,而海量数据的处理对算力提出了很大的挑战。映射-归约(MapReduce)是海量数据处理中使用最广泛的计算框架,而Shuffle是其中最重要的基础组件,其实现性能决定了整个计算框架的性能。
不管社区版本,还是其它版本,都是基于磁盘拉(Pull)模式,映射(Map)端产出的数据会放到本地磁盘,归约(Reduce)在使用的时候拉过来,而这样处理至少会带来以下问题:首先,Map端数据需要全部写入磁盘,会导致多次输入输出(I/O,Input/Output),其次,在Pull数据阶段也会产生大量随机I/O。
【发明内容】
有鉴于此,本发明提供了通用流式Shuffle引擎的实现方法、装置、设备及存储介质。
具体技术方案如下:
一种通用流式Shuffle引擎的实现方法,包括:
Shuffle获取分布式计算引擎写入端dce writer在内存中进行计算的同时发送给所述Shuffle的数据;
当每次符合预定条件时,所述Shuffle将获取到的数据在内存中进行排序后写入到Hadoop分布式文件系统HDFS,以便分布式计算引擎读取端dce reader从所述HDFS中读取自身对应的数据。
优选地,该方法进一步包括:
所述Shuffle将数据写入到所述HDFS中之后,向所述dce writer返回确认ACK信息,以便所述dce writer将所述ACK信息对应的数据从内存中删除。
优选地,所述符合预定条件包括:内存已满,或者,定时器到时。
一种通用流式Shuffle引擎的实现方法,包括:
分布式计算引擎写入端dce writer在内存中进行计算的同时,将输出的数据发送给Shuffle,以便当每次符合预定条件时,所述Shuffle将获取到的数据在内存中进行排序后写入到Hadoop分布式文件系统HDFS,进而由分布式计算引擎读取端dce reader从所述HDFS中读取自身对应的数据。
优选地,该方法进一步包括:
所述dce writer获取所述Shuffle将数据写入到所述HDFS中之后,向所述dcewriter返回的确认ACK信息,将所述ACK信息对应的数据从内存中删除。
优选地,该方法进一步包括:
当接收所述dce writer数据的Shuffle中存在慢节点时,所述dce writer将数据发送给重新为其分配的Shuffle,利用重新分配的Shuffle替换慢节点Shuffle的工作。
优选地,该方法进一步包括:
所述dce writer采用预约的模式将数据发送给所述Shuffle,包括:
向所述Shuffle发送预约大小的远程过程调用RPC请求;
若接收到针对所述请求的确认消息,则向所述Shuffle发送携带有所述预约大小的数据的RPC。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810761504.3/2.html,转载请声明来源钻瓜专利网。





