[发明专利]基于Hudi的数据查询方法、装置、设备及存储介质在审
申请号: | 202110467163.0 | 申请日: | 2021-04-28 |
公开(公告)号: | CN113094340A | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 霍元浩;李锐 | 申请(专利权)人: | 杭州海康威视数字技术股份有限公司 |
主分类号: | G06F16/14 | 分类号: | G06F16/14;G06F16/13;G06F16/11;G06F16/182 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;丁芸 |
地址: | 310051 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hudi 数据 查询 方法 装置 设备 存储 介质 | ||
本申请实施例提供了基于Hudi的数据查询方法、装置、设备及存储介质,在Hudi的基础上建立ES表,可以通过ES表及ES索引得到查询结果,ES索引查询效率高于Hudi表的查询效率,因此能够增加基于Hudi的数据查询速度,提高查询性能。在谓词字段中即不存在主键字段又不存在分区字段,则查询ES索引得到谓词字段对应的主键字段和/或分区字段,从而能够增加基于Hudi的数据查询速度,提高查询性能。
技术领域
本申请涉及数据查询技术领域,特别是涉及基于Hudi的数据查询方法、装置、设备及存储介质。
背景技术
随着信息技术的不断发展,数据已经成为驱动行业发展的重要因素。在现有数据处理领域中,因为DFS(Distributed file system,分布式文件系统)、HDFS(HadoopDistributed File System,Hadoop分布式文件系统)及云存储等在大规模的数据存储上具有低成本的优势,所以在现代的数据存储体系结构中扮演了重要角色。大量的数据从不同的数据源汇入到DFS中,这些汇集的数据拥有不同的数据结构,包括结构化、半结构化和非结构化,共同构成了数据湖。Hudi作为一个数据湖存储系统,提供了事务操作,并解决了DFS中数据不能更新和删除问题。
现有技术中,Hudi底层使用Parquet文件格式进行数据存储,每一条记录都有一个主键。Hudi写数据到Parquet时,会对主键添加文件级别索引(粗粒度),包括主键的范围信息与Bloom Filter(布隆过滤器),以加快数据更新过程。
但是在数据查询方面,由于Hudi表仅提供了一层粗粒度的主键索引,针对非主键查询,其查询速度较慢,查询性能较低。
发明内容
本申请实施例的目的在于提供一种基于Hudi的数据查询方法、装置、设备及存储介质,以实现增加基于Hudi的数据查询速度,提高查询性能。具体技术方案如下:
第一方面,本申请实施例提供了一种基于Hudi的数据查询方法,所述方法包括:
获取查询请求,解析所述查询请求得到各谓词字段;
判断各所述谓词字段是否均已建立ES索引、且各所述谓词字段的查询结果是否均存储在ES存储中;
若是,则根据各所述谓词字段的ES索引查询得到查询结果;
若否,根据各所述谓词字段查询预设Hudi表,得到查询结果。
在一种可能的实施方式中,所述方法还包括:
在目标谓词字段的查询频率大于第一频率阈值时,建立所述目标谓词字段的ES索引,并基于所述目标谓词字段的ES索引,建立所述目标谓词字段与相应的主键字段和/或分区字段的二级索引;
在所述目标谓词字段的查询频率大于第二频率阈值时,将所述目标谓词字段的查询结果存储在所述ES存储中。
在一种可能的实施方式中,所述根据各所述谓词字段查询预设Hudi表,得到查询结果,包括:
若各所述谓词字段中即不存在主键字段又不存在分区字段,则查询ES索引得到各所述谓词字段对应的主键字段和/或分区字段,得到目标主键字段和/或目标分区字段;
根据所述目标主键字段和/或所述目标分区字段查询预设Hudi表,得到查询结果。
在一种可能的实施方式中,所述根据各所述谓词字段查询预设Hudi表,得到查询结果,包括:
若各所述谓词字段中仅存在分区字段,则根据各所述谓词字段的分区字段,对所述预设Hudi表进行分区过滤查询,得到查询结果;
若各所述谓词字段中仅存在主键字段,则根据各所述谓词字段的主键字段进行预设Hudi表扫描,得到查询结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视数字技术股份有限公司,未经杭州海康威视数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110467163.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置