[发明专利]一种基于流水线的分布式多表连接方法及系统有效
申请号: | 201710361245.0 | 申请日: | 2017-05-19 |
公开(公告)号: | CN107229692B | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 王宏志;孙旭冉;赵志强 | 申请(专利权)人: | 哈工大大数据产业有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京格允知识产权代理有限公司11609 | 代理人: | 周娇娇,谭辉 |
地址: | 150001 黑龙江省哈尔滨市经*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 流水线 分布式 连接 方法 系统 | ||
1.一种基于流水线的分布式多表连接方法,其特征在于,该方法包括并行执行的以下步骤:
A、映射处理单元从分布式文件系统读取待连接表,将所述待连接表进行映射处理后得到对应的数据块,并以每两个待连接表为一组,将第一组表的数据块输出至第一规约处理单元,将第二组至末尾组表的数据块按序输出至第二规约处理单元;
B、第二规约处理单元按序读取第二组至末尾组表的数据块,并对每组表的两个数据块进行哈希连接得到每组表的两表连接结果;
C、第一规约处理单元读取第一组表的两个数据块进行哈希连接后作为初始的多表连接结果,并在等待第二规约处理单元完成一组表的哈希连接后,将当前的多表连接结果与该组表的两表连接结果进行顺序连接以更新多表连接结果,直至所有组表完成连接后输出多表连接结果;
所述步骤A包括以下步骤:
在t1时刻,映射处理单元读取待连接表T1至T4,对所述待连接表T1至T4进行映射处理后得到对应的数据块B1至B4,并将第一组表的数据块B1和B2输出至所述第一规约处理单元,将第二组表的数据块B3和B4输出至所述第二规约处理单元;
在ti时刻,其中i=2,3,…,j-1,j为待连接表的组数;映射处理单元读取待连接表T2i+1和T2i+2,对所述待连接表T2i+1和T2i+2进行映射处理后得到第i+1组表的数据块B2i+1至B2i+2,并输出至第二规约处理单元;
且该步骤A的映射处理为自适应的双阶段分割;
所述步骤B包括以下步骤:
在ti时刻,其中i=2,3,…,j;第二规约处理单元读取第i组表的数据块B2i-1至B2i进行哈希连接后得到第i组表的两表连接结果Hi;
所述步骤C包括以下步骤:
在t2时刻,第一规约处理单元读取第一组表的数据块B1至B2进行哈希连接后作为初始的多表连接结果S1;
在ti时刻,其中i=3,4,…,j+1;第一规约处理单元在等待第二规约处理单元完成第i-1组表的哈希连接后,将当前的多表连接结果Si-2与第i-1组表的两表连接结果Hi-1进行顺序连接得到更新的多表连接结果Si-1。
2.根据权利要求1所述的基于流水线的分布式多表连接方法,其特征在于,所述步骤A中还包括:
在判断待连接表的总数n为奇数时,在待连接表中增加一个空表,且待连接表的组数
在判断待连接表的总数n为偶数时,待连接表的组数
3.根据权利要求1所述的基于流水线的分布式多表连接方法,其特征在于,所述自适应的双阶段分割包括:
在第一阶段依据连接属性对顶层数据进行分割;
在第二阶段依据数据规模和规约器的个数对底层数据进行分割。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈工大大数据产业有限公司,未经哈工大大数据产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710361245.0/1.html,转载请声明来源钻瓜专利网。