一种列存储文件的查询方法及查询装置制造方法及图纸

技术编号:21971284 阅读:22 留言:0更新日期:2019-08-28 01:26
本发明专利技术实施例提供一种列存储文件的查询方法,包括:从终端获取用户输入的SPL查询语句;根据所述SPL查询语句,确定在分布式文件系统的第一文件中的查询范围;根据所述查询范围从所述第一文件中筛选出第二文件;将所述SPL查询语句按照预设转化规则转化为SQL语句;将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL;及将所述目标查询文件输出至所述终端。本发明专利技术实施例提供的列存储文件的查询方法,为原有日志搜索系统的用户提供了统一的查询模式,扩大了SPL语句的查询范围,为列存储数据的查询提供方便。

A Query Method and Device for Column Storage Files

【技术实现步骤摘要】
一种列存储文件的查询方法及查询装置
本专利技术实施例涉及数据库管理
,尤其涉及一种列存储文件的查询方法、查询装置、计算机设备及可读存储介质。
技术介绍
当前的日志搜索系统中,Splunk公司开发的搜索处理语言(SearchProcessingLanguage,SPL)是一个常见的检索语言,用于查询已经被索引过的日志数据。然,有时因为对磁盘空间的要求,存放时间比较长的日志数据会以列存储的形式(比如parquet或者优化行柱(OptimizedRowColumnar,orc))存放在分布式文件系统(HadoopDistributedFileSystem,HDFS)上,以节省空间。当需要查询这些数据时,要求使用SPL语句查询这些列存储格式的数据文件。然,当前列存储格式的数据文件往往只支持使用结构化查询语言(StructuredQueryLanguage,SQL)作为查询语句的查询引擎,并进行数据查询,而不支持使用SPL语句进行查询。因此,本专利技术旨在解决不支持SPL语句对列存储格式直接进行查询的问题。
技术实现思路
有鉴于此,有必要提供一种列存储文件的查询方法、查询装置、计算机设备及计算机可读存储介质,为原有日志搜索系统的用户提供了统一的查询模式,扩大了SPL语句的查询范围,为列存储数据的查询提供方便。为实现上述目的,本专利技术实施例提供了一种列存储文件的查询方法,所述方法包括:从终端获取用户输入的SPL查询语句;根据所述SPL查询语句,确定在HDFS的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;根据所述查询范围从所述第一文件中筛选出第二文件;将所述SPL查询语句按照预设转化规则转化为SQL语句;将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或SparkSQL;及将所述目标查询文件输出至所述终端。优选地,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤之前,还包括步骤:获取所述用户输入的创建视图指令;识别并执行所述创建视图指令以建立视图;及获取所述用户输入的视图名。优选地,预先建立SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中,其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤,还包括步骤:识别与所述SPL查询语句对应的命令类型;及根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为所述SQL语句。优选地,所述根据所述查询范围从所述第一文件中筛选出第二文件的步骤,还包括:根据所述命令类型,识别所述第二文件的查询时间范围及名称;及从所述列存储文件中筛选出所述第二文件。为实现上述目的,本专利技术实施例还提供了一种列存储文件的查询装置,包括:获取模块,用于从终端获取用户输入的SPL查询语句;确定模块,用于根据所述SPL查询语句,确定在HDFS的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;筛选模块,用于根据所述查询范围从所述第一文件中筛选出第二文件;转化模块,用于将所述SPL查询语句按照预设转化规则转化为SQL语句;搜索模块,用于将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或SparkSQL;及输出模块,用于将所述目标查询文件输出至所述终端。优选地,所述查询装置还包括建立模块,所述获取模块,还用于获取所述用户输入的创建视图指令;建立模块,用于识别并执行所述创建视图指令以建立视图;及所述获取模块,还用于获取所述用户输入的视图名。优选地,预先建立SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中,其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系,所述查询装置还包括识别装置,所述识别模块,用于识别与所述SPL查询语句对应的命令类型;及所述转化模块,用于根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为所述SQL语句。优选地,所述识别模块,还用于根据所述命令类型,识别所述第二文件的查询时间范围及名称;及所述筛选模块,还用于从所述列存储文件中筛选出所述第二文件。为实现上述目的,本专利技术实施例还提供了一种计算机设备,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上所述的列存储文件的查询方法的步骤。为实现上述目的,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的列存储文件的查询方法的步骤。本专利技术实施例提供的列存储文件的查询方法、查询装置、计算机设备及计算机可读存储介质,通过将SPL语句转换为SQL语句,根据SPL语句的查询时间范围确定HDFS列存储文件中符合所述查询时间范围的文件,并将所述文件导入至大数据平台SQL搜索引擎中,通过于所述大数据平台SQL搜索引擎执行所述SQL语句以搜索出目标查询文件并将所述目标查询文件输出至用户终端,为原有日志搜索系统的用户提供了统一的查询模式,扩大了SPL语句的查询范围,为列存储数据的查询提供方便。附图说明图1为本专利技术实施例一之列存储文件的查询方法的步骤流程图。图2为本专利技术实施例二之查询装置的硬件架构示意图。图3为本专利技术实施例三之列存储文件查询系统的程序模块示意图。附图标记:具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在本专利技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。实施例一参阅图1,示出了本专利技术实施例一之列存储文件的查询方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。需要说明是,本实施例以列存储文件的查询装置2(本文档来自技高网...

【技术保护点】
1.一种列存储文件的查询方法,其特征在于,包括步骤:从终端获取用户输入的SPL查询语句;根据所述SPL查询语句,确定在分布式文件系统的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;根据所述查询范围从所述第一文件中筛选出第二文件;将所述SPL查询语句按照预设转化规则转化为SQL语句;将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL;及将所述目标查询文件输出至所述终端。

【技术特征摘要】
1.一种列存储文件的查询方法,其特征在于,包括步骤:从终端获取用户输入的SPL查询语句;根据所述SPL查询语句,确定在分布式文件系统的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;根据所述查询范围从所述第一文件中筛选出第二文件;将所述SPL查询语句按照预设转化规则转化为SQL语句;将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或SparkSQL;及将所述目标查询文件输出至所述终端。2.如权利要求1所述的查询方法,其特征在于,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤之前,还包括步骤:获取所述用户输入的创建视图指令;识别并执行所述创建视图指令以建立视图;及获取所述用户输入的视图名。3.如权利要求2所述的查询方法,其特征在于,预先建立SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中,其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤,还包括步骤:识别与所述SPL查询语句对应的命令类型;及根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为所述SQL语句。4.如权利要求3所述的查询方法,其特征在于,所述根据所述查询范围从所述第一文件中筛选出第二文件的步骤,还包括:根据所述命令类型,识别所述第二文件的查询时间范围及名称;及从所述列存储文件中筛选出所述第二文件。5.一种列存储文件的查询装置,其特征在于,包括:获取模块,用于从终端获取用户输入的SPL查询语句;确定模块,用于根据所述SPL查询语句,确定在分布式文件系统的第一文件中的查询范围,其中,所述第一文件...

【专利技术属性】
技术研发人员:陈俊峰
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1