[发明专利]数仓表处理方法和装置在审
| 申请号: | 201811251804.3 | 申请日: | 2018-10-25 |
| 公开(公告)号: | CN109597807A | 公开(公告)日: | 2019-04-09 |
| 发明(设计)人: | 杨浩 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 方法和装置 表处理 表数据 过滤 查询 查询效率 索引 匹配 节约 | ||
1.一种数仓表处理方法,所述方法包括:
获取第一数仓表中第一表段的布隆索引;其中,所述布隆索引根据第一表段中各条表数据的连接表达式生成;
获取第二数仓表中与所述第一表段对应的第二表段,并分别计算所述第二表段中各条表数据的连接表达式;其中,第一数仓表与第二数仓表的分段方式相同;
在对第一数仓表和第二数仓表中匹配的表数据进行连接查询之前,根据所述第二表段对应的连接表达式和所述第一表段的布隆索引对所述第二表段中的表数据进行过滤,其中,匹配的表数据为连接表达式相同的表数据。
2.根据权利要求1所述的方法,所述方法还包括:
根据所述第一数仓表中各条表数据的连接表达式分别对所述第一数仓表中的各条表数据进行分段。
3.根据权利要求2所述的方法,根据所述第一数仓表中各条表数据的连接表达式分别对所述第一数仓表中的各条表数据进行分段的步骤包括:
获取所述第一数仓表中各条表数据的连接表达式之值的哈希值,并计算所述哈希值与表段总数的余数;
根据所述余数分别对所述第一数仓表中的各条表数据进行分段。
4.根据权利要求3所述的方法,在获取第二数仓表中与所述第一表段对应的第二表段之前,所述方法还包括:
根据所述第一数仓表中各条表数据的第一连接表达式生成所述第一数仓表的布隆索引;
获取第二数仓表中各条表数据的连接表达式;
根据所述第二数仓表对应的连接表达式和所述第一数仓表的布隆索引对所述第二数仓表中的表数据进行过滤。
5.根据权利要求1至4任意一项所述的方法,在将对应的表数据从所述第二表段中过滤掉之后,所述方法还包括:
对所述第一数仓表和第二数仓表进行连接查询。
6.根据权利要求5所述的方法,在对所述第一数仓表和第二数仓表进行连接查询之前,所述方法还包括:
将所述第一数仓表写入内存,若内存不足,将所述第一数仓表换出到磁盘;和/或
将所述第二数仓表写入内存,若内存不足,将所述第二数仓表换出到磁盘。
7.根据权利要求5所述的方法,当所述连接为内连接或者左连接时,所述第一数仓表为做表,所述第二数仓表为右表;当所述连接为右连接时,所述第二数仓表为做表,所述第一数仓表为右表。
8.一种数仓表处理装置,所述装置包括:
获取模块,用于获取第一数仓表中第一表段的布隆索引;其中,所述布隆索引根据第一表段中各条表数据的连接表达式生成;
计算模块,用于获取第二数仓表中与所述第一表段对应的第二表段,并分别计算所述第二表段中各条表数据的连接表达式;其中,第一数仓表与第二数仓表的分段方式相同;
过滤模块,用于在对第一数仓表和第二数仓表中匹配的表数据进行连接查询之前,根据所述第二表段对应的连接表达式和所述第一表段的布隆索引对所述第二表段中的表数据进行过滤,其中,匹配的表数据为连接表达式相同的表数据。
9.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1至7任意一项所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7任意一项所述的方法。
11.一种分布式处理系统,包括多个权利要求10所述的计算机设备,每台计算机设备用于对第二数仓表中的至少一个第二表段进行过滤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811251804.3/1.html,转载请声明来源钻瓜专利网。





