[发明专利]一种基于硬件排序MapReduce的数据处理方法在审
申请号: | 201710238164.1 | 申请日: | 2017-04-13 |
公开(公告)号: | CN107102839A | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 计晓斐;李建波;刘亮 | 申请(专利权)人: | 青岛蓝云信息技术有限公司 |
主分类号: | G06F7/36 | 分类号: | G06F7/36;G06F17/30 |
代理公司: | 青岛联信知识产权代理事务所37227 | 代理人: | 张媛媛 |
地址: | 266000 山东省青岛市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 硬件 排序 mapreduce 数据处理 方法 | ||
1.一种基于硬件排序MapReduce的数据处理方法,包括以下步骤:
A、Map阶段,所述Map阶段包括如下子步骤:
(1)数据读入(Read),即从分布式文件系统中读入数据;
(2)Map执行(Map),即执行用户编写的Map()函数;
(3)数据收集(Collect),即将Map产生的结果存入缓冲区;
(4)缓存溢写(Spill),即将溢写文件采用基于GPU的快速排序方法进行排序,当缓存中数据量超过阈值时,将缓存中的数据写入本地硬盘;
(5)溢写合并(Merge),即多次缓存溢写会产生多个溢写文件,需要将所有的溢写文件采用基于GPU的归并排序的方法合并成一个输出文件;
B、Shuffle阶段,所述Shuffle阶段包括如下子步骤:
(1)中间数据传输(Copy),即将Map端的中间结果通过网络传输到Reduce端的缓冲区;
(2)缓存溢写(Spill),即Reduce端的缓冲区数据量超过阈值时,将缓冲区数据写入本地硬盘,每次写入形成一个shuffle文件;
C、Reduce阶段,所述Reduce阶段包括如下子步骤:
(1)Shuffle文件合并(Merge),即在Reduce端先将大量的shuffle文件采用基于GPU的归并排序方法合并形成少量的大文件,再采用基于GPU的归并排序方法将多个大文件合并形成一个有序的大文件;
(2)Reduce执行(Reduce):执行用户编写的Reduce()函数;
(3)数据输出(0urput):将Reduce产生的结果输出到分布式文件系统。
2.如权利要求1所述的一种基于硬件排序MapReduce的数据处理方法,其特征在于,所述基于GPU的归并排序方法包括以下步骤:
A1:将待归并的序列两两分组,分成m组,每次对一组的两个序列A1和B1进行归并;
A2:子序列归并前的准备;
A3:子序列进入归并第一环节;
A4:子序列进入归并第二环节;
A5:重复步骤A3和A4直到序列A1和B1归并完成,输出归并结果C1;
A6:进行下一组序列A2和B2的归并,直到所有序列归并完成,产生结果归并结果C2,...,Cm;
其中Ci(1≤i≤m)表示原始序列Ai和Bi归并完成后产生的有序序列;
A7:重复步骤(1)-(6)对归并结果C1,C2,...,Cm进行归并,直到产生最终归并结果。
3.如权利要求2所述的一种基于硬件排序MapReduce的数据处理方法,其特征在于,所述步骤A2包括:
分别将A1和B1划分成n个子序列,每个线程块对A1的一个子序列和B1的一个子序列进行归并,共需进行log2n+1轮子序列的归并即可将序列A1和B1归并为一个有序序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛蓝云信息技术有限公司,未经青岛蓝云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710238164.1/1.html,转载请声明来源钻瓜专利网。