时空数据即席查询方法、系统、电子设备和存储介质技术方案

技术编号:23050053 阅读:29 留言:0更新日期:2020-01-07 14:46
本申请涉及一种时空数据即席查询方法、系统、电子设备和存储介质,系统包括查询系统、Jetty服务组件、Spark分布式集群引擎及数据库。查询系统基于查询条件根据预设的规则生成对应的查询请求,Jetty服务组件将查询请求提交到Spark分布式集群引擎中,Spark分布式集群引擎根据预设的业务规则解析查询请求,并根据待查询的类型或字段,调用对应的组件在数据库中检索数据。由于约定了一致的业务规则,开发人员无需根据数据库中的数据存储结构定制查询系统,只需将查询条件根据业务规则生成查询请求,Spark分布式集群引擎对查询请求进行解析即可调用相应的组件查询到对应的数据,满足了用户的多样性的查询需求。

Temporal and spatial data ad hoc query methods, systems, electronic devices and storage media

【技术实现步骤摘要】
时空数据即席查询方法、系统、电子设备和存储介质
本申请涉及大数据处理
,具体而言,涉及一种时空数据即席查询方法、系统、电子设备和存储介质。
技术介绍
时空数据统计分析是目前大数据分析处理领域比较前沿的课题,时空数据是指一些轨迹数据、事件发生的点位数据等包括时间、空间的多维形态数据。时空数据的数据量较大,尤其类似行为轨迹数据,每秒钟都会有大量的数据产生。目前,对于时空大数据的处理方式一般是前端查询系统直接提交SQL语句进行查询。在此之前,开发人员根据用户的查询需求做定制开发,生成固定格式和固定条件的报表,用户在使用过程中不能二次设定查询条件,无法满足用户多样性的查询需求。
技术实现思路
有鉴于此,本申请的目的在于提供时空数据即席查询方法、系统、电子设备和存储介质,以满足用于多样性的查询需求。第一方面,本申请实施例提供一种时空数据即席查询方法,应用于时空数据即席查询系统,所述时空数据即席查询系统包括数据库、查询系统、Jetty服务组件及Spark分布式集群引擎,其中,所述数据库中存储有时空数据及其对应的Geomesa索引、非时空数据及其对应的Phoenix索引,所述方法包括:所述查询系统基于用户选择的查询条件,根据预设的业务规则生成对应的查询请求,并将所述查询请求发送至Jetty服务组件中,其中,所述预设的业务规则包括时空数据或非时空数据分别包含的数据类型对应的查询请求;所述Jetty服务组件将所述查询请求以Spark任务的方式提交到Spark分布式集群引擎中;所述Spark分布式集群引擎根据所述预设的业务规则对所述Spark任务进行解析,获得解析后的查询业务逻辑,其中,所述查询业务逻辑包括待查询的类型或字段;所述Spark分布式集群引擎根据所述查询业务逻辑包括的待查询的类型或字段,判断所述待查询的数据是时空数据还是非时空数据;若是时空数据,则在所述数据库中通过Geomesa索引获得相应的时空数据;若是非时空数据,则在所述数据库中通过Phoenix索引获得相应的非时空数据。在可选的实施方式中,所述时空数据即席查询系统还包括基于Flink实时ETL系统、第三方数据库、Geomesa组件及Phoenix组件,所述方法包括将所述非时空数据及时空数据导入到所述数据库中的步骤,所述步骤包括:所述基于Flink实时ETL系统从所述第三方数据库中实时提取数据,并判断提取的数据是时空数据还是非时空数据;若是时空数据,则通过Geomesa组件将所述时空数据导入至所述第三方数据库中,并建立对应的Geomesa索引;若是非时空数据,则通过Phoenix组件将所述非时空数据导入至所述第三方数据库中,并建立对应的Phoenix索引。在可选的实施方式中,所述查询系统根据用户选择的查询条件根据预设的业务规则生成对应的查询请求,并将所述查询请求发送至Jetty服务组件中,包括:所述查询系统将所述查询条件根据预设的业务规则封装为JSON形式的业务请求,并将所述JSON形式的业务请求发送至所述Jetty服务组件中。在可选的实施方式中,所述Jetty服务组件将所述查询请求以Spark任务的方式提交到Spark分布式集群引擎中,包括:Jetty服务组件将所述JSON形式的业务请求解析到业务对象中,并通过所述Jetty服务组件的SparkSession对象,将所述业务对象以Spark任务的方式提交到Spark分布式集群引擎中进行执行。在可选的实施方式中,所述方法还包括:所述基于Flink实时ETL系统在建立所述Geomesa索引或所述Phoenix索引后,将所述时空数据及其对应的Geomesa索引、非时空数据及其对应的Phoenix索引压缩后存入所述数据库。第二方面,本申请实施例提供一种时空数据即席查询系统,所述时空数据即席查询系统包括用于存放数据的数据库、查询系统、Jetty服务组件及Spark分布式集群引擎,其中,所述数据包括时空数据及其对应的Geomesa索引、非时空数据及其对应的Phoenix索引:所述查询系统用于基于用户选择的查询条件,根据预设的业务规则生成对应的查询请求,并将所述查询请求发送至Jetty服务组件中,其中,所述预设的业务规则包括时空数据或非时空数据分别包含的数据类型对应的查询请求;所述Jetty服务组件用于将所述查询请求以Spark任务的方式提交到Spark分布式集群引擎中;所述Spark分布式集群引擎用于根据所述预设的业务规则对所述Spark任务进行解析,获得解析后的查询业务逻辑,其中,所述查询业务逻辑包括待查询的类型或字段;所述Spark分布式集群引擎还用于根据所述查询业务逻辑包括待查询的类型或字段,判断所述待查询的数据是时空数据还是非时空数据;若是时空数据,则在所述数据库中检索所述时空数据对应的Geomesa索引以获得相应的时空数据;若是非时空数据,则在所述数据库中检索该非时空数据对应的Phoenix索引以获得相应的非时空数据。在可选的实施方式中,所述时空数据即席查询系统还包括基于Flink实时ETL系统、第三方数据库、Geomesa组件及Phoenix组件:所述基于Flink实时ETL系统用于从所述第三方数据库中实时提取数据,并判断提取的数据是时空数据还是非时空数据;若是时空数据,则所述基于Flink实时ETL系统还用于通过Geomesa组件将所述时空数据导入至所述第三方数据库中,并建立对应的Geomesa索引;若是非时空数据,则所述基于Flink实时ETL系统还用于通过Phoenix组件将所述非时空数据导入至所述第三方数据库中,并建立对应的Phoenix索引。在可选的实施方式中,所述基于Flink实时ETL系统在建立所述Geomesa索引或所述Phoenix索引后,还用于将所述时空数据及其对应的Geomesa索引、非时空数据及其对应的Phoenix索引压缩后存入所述数据库。第三方面,本申请实施例提供一种电子设备,包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述电子设备执行前述实施方式中任意一项所述的时空数据即席查询方法。第四方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被执行时实现前述实施方式任意一项所述的时空数据即席查询方法。本申请实施例提供的时空数据即席查询方法、系统、电子设备和存储介质,时空数据即席查询系统包括数据库、查询系统、Jetty服务组件及Spark分布式集群引擎。数据库中存储有时空数据及其对应的Geomesa索引、非时空数据及其对应的Phoenix索引。查询系统基于用户选择的查询条件根据预设的规则生成对应的查询请求,Jetty服务组件将查询请求提交到Spark分布式集群引擎中进行执行,在执行过程中,Spark分布式集群引擎根据预设的业务规则进行解析,获得解析后的查询业务逻辑,查询业务逻辑包括待查询的类型本文档来自技高网...

【技术保护点】
1.一种时空数据即席查询方法,其特征在于,应用于时空数据即席查询系统,所述时空数据即席查询系统包括数据库、查询系统、Jetty服务组件及Spark分布式集群引擎,其中,所述数据库中存储有时空数据及其对应的Geomesa索引、非时空数据及其对应的Phoenix索引,所述方法包括:/n所述查询系统基于用户选择的查询条件,根据预设的业务规则生成对应的查询请求,并将所述查询请求发送至Jetty服务组件中,其中,所述预设的业务规则包括时空数据或非时空数据分别包含的数据类型对应的查询请求;/n所述Jetty服务组件将所述查询请求以Spark任务的方式提交到Spark分布式集群引擎中;/n所述Spark分布式集群引擎根据所述预设的业务规则对所述Spark任务进行解析,获得解析后的查询业务逻辑,其中,所述查询业务逻辑包括待查询的类型或字段;/n所述Spark分布式集群引擎根据所述查询业务逻辑包括的待查询的类型或字段,判断所述待查询的数据是时空数据还是非时空数据;/n若是时空数据,则在所述数据库中通过Geomesa索引获得相应的时空数据;/n若是非时空数据,则在所述数据库中通过Phoenix索引获得相应的非时空数据。/n...

【技术特征摘要】
1.一种时空数据即席查询方法,其特征在于,应用于时空数据即席查询系统,所述时空数据即席查询系统包括数据库、查询系统、Jetty服务组件及Spark分布式集群引擎,其中,所述数据库中存储有时空数据及其对应的Geomesa索引、非时空数据及其对应的Phoenix索引,所述方法包括:
所述查询系统基于用户选择的查询条件,根据预设的业务规则生成对应的查询请求,并将所述查询请求发送至Jetty服务组件中,其中,所述预设的业务规则包括时空数据或非时空数据分别包含的数据类型对应的查询请求;
所述Jetty服务组件将所述查询请求以Spark任务的方式提交到Spark分布式集群引擎中;
所述Spark分布式集群引擎根据所述预设的业务规则对所述Spark任务进行解析,获得解析后的查询业务逻辑,其中,所述查询业务逻辑包括待查询的类型或字段;
所述Spark分布式集群引擎根据所述查询业务逻辑包括的待查询的类型或字段,判断所述待查询的数据是时空数据还是非时空数据;
若是时空数据,则在所述数据库中通过Geomesa索引获得相应的时空数据;
若是非时空数据,则在所述数据库中通过Phoenix索引获得相应的非时空数据。


2.根据权利要求1所述的方法,其特征在于,所述时空数据即席查询系统还包括基于Flink实时ETL系统、第三方数据库、Geomesa组件及Phoenix组件,所述方法包括将所述非时空数据及时空数据导入到所述数据库中的步骤,所述步骤包括:
所述基于Flink实时ETL系统从所述第三方数据库中实时提取数据,并判断提取的数据是时空数据还是非时空数据;
若是时空数据,则通过Geomesa组件将所述时空数据导入至所述第三方数据库中,并建立对应的Geomesa索引;
若是非时空数据,则通过Phoenix组件将所述非时空数据导入至所述第三方数据库中,并建立对应的Phoenix索引。


3.根据权利要求2所述的方法,其特征在于,所述查询系统根据用户选择的查询条件根据预设的业务规则生成对应的查询请求,并将所述查询请求发送至Jetty服务组件中,包括:
所述查询系统将所述查询条件根据预设的业务规则封装为JSON形式的业务请求,并将所述JSON形式的业务请求发送至所述Jetty服务组件中。


4.根据权利要求3所述的方法,其特征在于,所述Jetty服务组件将所述查询请求以Spark任务的方式提交到Spark分布式集群引擎中,包括:
Jetty服务组件将所述JSON形式的业务请求解析到业务对象中,并通过所述Jetty服务组件的SparkSession对象,将所述业务对象以Spark任务的方式提交到Spark分布式集群引擎中进行执行。


5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述基于Flink实时ETL系统在建...

【专利技术属性】
技术研发人员:李蔚
申请(专利权)人:北京明略软件系统有限公司
类型:发明
国别省市:北京;11

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

1