一种ClickHouse数据库的数据查询方法、系统、装置及存储介质制造方法及图纸

技术编号:37157793 阅读:11 留言:0更新日期:2023-04-06 22:20
本发明专利技术提出的一种ClickHouse数据库的数据查询方法、系统、装置及存储介质,所述方法包括:对接入数据字段进行统一定义,并生成对应数据标识的配置文件;根据配置文件中的字段说明,对数据进行预处理,生成查询元素入库文件和完整数据入库文件,并将两者进行关联;根据预设的查询元素建立对应的查询元素表,并将查询元素入库文件和完整数据入库文件进行数据入库;根据用户输入的查询元素类型和元素值,到对应的查询元素表中获取对应的rowkey和数据表标识,根据rowkey和数据表名进行查询,返回元素值对应的原始数据。本发明专利技术能够对ClickHouse数据库的数据从接入到数据存储方面进行优化,从而实现多数据列快速定位和查询。询。询。

【技术实现步骤摘要】
一种ClickHouse数据库的数据查询方法、系统、装置及存储介质


[0001]本专利技术涉及计算机
,更具体的说是涉及一种ClickHouse数据库的数据查询方法、系统、装置及存储介质。

技术介绍

[0002]ClickHouse是一种开源的用于在线分析处理查询(OLAP:Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用SQL查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。可以做用户行为分析,流批一体,线性扩展和可靠性保障能够原生支持shard+replication。ClickHouse采用Local attached storage作为存储。
[0003]ClickHouse存在很多引擎,其中,最常用的为MergeTree引擎。ClickHouse索引存储原理基于MergeTree系列的引擎,其数据是由多组部分文件组成的,在数据插入之前,先将数据根据主键字段(主键字段默认跟Order by相同)进行字典序排列。例如,如果你有一个主键是(CounterID,Date),数据行会首先按照CounterID排序,如果CounterID相同,按照日期排序。这样的存储方式,就会出现主键(索引,即排序)排在第一位的字段,查询速度最快,也就是说,业务中经常需要查询的字段需要放在order by第一位置,而在实际的业务中,要查询的字段经常会有多个,例如大数据基础数据元素
‑‑‑
姓名、身份证号、手机号、车牌号等,这些都有可能是用户查询的对象,且这些基础数据元素可能存在于多个数据表中,例如常住人口表、住宿信息表、驾照信息表、社保数据表等等。
[0004]由此可见,ClickHouse数据库常用的存储方式是将数据按照字段入各类型数据库表,查询时需遍历所有数据表及字段,由于无法将所有基础数据元素做为第一索引,势必会影响查询速度。

技术实现思路

[0005]针对以上问题,本专利技术的目的在于提供一种ClickHouse数据库的数据查询方法、系统、装置及存储介质,能够对ClickHouse数据库的数据从接入到数据存储方面进行优化,从而实现多数据列快速定位和查询。
[0006]本专利技术为实现上述目的,通过以下技术方案实现:一种ClickHouse数据库的数据查询方法,包括:
[0007]对接入数据字段进行统一定义,并生成对应数据标识的配置文件;
[0008]根据配置文件中的字段说明,对数据进行预处理,生成查询元素入库文件和完整数据入库文件,并将两者进行关联;
[0009]根据预设的查询元素建立对应的查询元素表,并将查询元素入库文件和完整数据入库文件进行数据入库;
[0010]根据用户输入的查询元素类型和元素值,到对应的查询元素表中获取对应的
rowkey和数据表标识,根据rowkey和数据表名进行查询,返回元素值对应的原始数据。
[0011]进一步,所述对接入数据字段进行统一定义,并生成对应数据标识的配置文件,包括:
[0012]根据接入数据进行字段统一定义,完成数据标识;
[0013]根据数据标识生成对应的配置文件,并上传至FTP服务器。
[0014]进一步,所述根据配置文件中的字段说明,对数据进行预处理,生成查询元素入库文件和完整数据入库文件,并将两者进行关联,包括:
[0015]从FTP服务器中下载配置文件,根据配置文件中的字段,生成完整数据的建表sql文件;
[0016]根据配置中的字段说明,对数据进行预处理,将数据处理成查询元素数据和完整数据,相应的生成查询元素入库文件和完整数据入库文件;
[0017]将查询元素入库文件和完整数据入库文件通过rowkey和数据表标识进行关联。
[0018]进一步,所述建表sql文件中,以rowkey做为第一位置索引。
[0019]进一步,所述根据预设的查询元素建立对应的查询元素表,并将查询元素入库文件和完整数据入库文件进行数据入库,包括:
[0020]根据预先定义好的查询元素字段列分别建立对应的查询元素表;
[0021]根据建表sql文件建立数据表;
[0022]根据预处理生成的查询元素入库文件和完整数据入库文件,进行数据入库。
[0023]进一步,查询元素表包括:时间、查询元素value值、rowkey和数据标识。
[0024]进一步,预设的查询元素包括:姓名、身份证号、手机号和车牌号。
[0025]相应的,本专利技术还公开了一种ClickHouse数据库的数据查询系统,包括:数元管理模块,用于对接入数据字段进行统一定义,并生成对应数据标识的配置文件;
[0026]数据预处理模块,用于根据配置文件中的字段说明,对数据进行预处理,生成查询元素入库文件和完整数据入库文件,并将两者进行关联;
[0027]数据入库模块,用于根据预设的查询元素建立对应的查询元素表,并将查询元素入库文件和完整数据入库文件进行数据入库;
[0028]数据查询模块,用于根据用户输入的查询元素类型和元素值,到对应的查询元素表中获取对应的rowkey和数据表标识,根据rowkey和数据表名进行查询,返回元素值对应的原始数据。
[0029]相应的,本专利技术公开了一种ClickHouse数据库的数据查询装置,包括:
[0030]存储器,用于存储ClickHouse数据库的数据查询程序;
[0031]处理器,用于执行所述ClickHouse数据库的数据查询程序时实现如上文任一项所述ClickHouse数据库的数据查询方法的步骤。
[0032]相应的,本专利技术公开了一种可读存储介质,所述可读存储介质上存储有ClickHouse数据库的数据查询程序,所述ClickHouse数据库的数据查询程序被处理器执行时实现如上文任一项所述ClickHouse数据库的数据查询方法的步骤。
[0033]对比现有技术,本专利技术有益效果在于:本专利技术公开了一种ClickHouse数据库的数据查询方法、系统、装置及存储介质,基于大数据应用中用户的实际需求,利用ClickHouse数据库的索引特点,通过对数据处理方式及存储的优化,快速实现多种查询元素在多个数
据表中的定位及查询响应返回。通过查询元素表中查询元素第一位置索引的建立及数据表中rowkey第一位置索引的建立,解决了ClickHouse数据库传统存储和查询方式中无法将各查询元素都做为第一位置索引而引起的查询速度慢的问题,提高查询效率,提升用户体验。
[0034]本专利技术通过从源头对数据元素进行统一字段定义,尤其对用户需要查询的查询元素字段,进行统一定义,避免出现在多种数据中该元素字段名不一致的情况,影响数据查询;通过对原始数据进行拆分,建立查询元素表(以查询元素值为第一位索引)和完整原始数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ClickHouse数据库的数据查询方法,其特征在于,包括:对接入数据字段进行统一定义,并生成对应数据标识的配置文件;根据配置文件中的字段说明,对数据进行预处理,生成查询元素入库文件和完整数据入库文件,并将两者进行关联;根据预设的查询元素建立对应的查询元素表,并将查询元素入库文件和完整数据入库文件进行数据入库;根据用户输入的查询元素类型和元素值,到对应的查询元素表中获取对应的rowkey和数据表标识,根据rowkey和数据表名进行查询,返回元素值对应的原始数据。2.根据权利要求1所述的ClickHouse数据库的数据查询方法,其特征在于,所述对接入数据字段进行统一定义,并生成对应数据标识的配置文件,包括:根据接入数据进行字段统一定义,完成数据标识;根据数据标识生成对应的配置文件,并上传至FTP服务器。3.根据权利要求2所述的ClickHouse数据库的数据查询方法,其特征在于,所述根据配置文件中的字段说明,对数据进行预处理,生成查询元素入库文件和完整数据入库文件,并将两者进行关联,包括:从FTP服务器中下载配置文件,根据配置文件中的字段,生成完整数据的建表sql文件;根据配置中的字段说明,对数据进行预处理,将数据处理成查询元素数据和完整数据,相应的生成查询元素入库文件和完整数据入库文件;将查询元素入库文件和完整数据入库文件通过rowkey和数据表标识进行关联。4.根据权利要求3所述的ClickHouse数据库的数据查询方法,其特征在于,所述建表sql文件中,以rowkey做为第一位置索引。5.根据权利要求4所述的ClickHouse数据库的数据查询方法,其特征在于,所述根据预设的查询元素建立对应的查询元素表,并将查询元素入库文件和完整数据入库文件进行数据入库,包括:根据预先定义好的查...

【专利技术属性】
技术研发人员:吴丹丹
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1