CN110175157A - 一种列存储文件的查询方法及查询装置 - Google Patents

一种列存储文件的查询方法及查询装置 Download PDF

Info

Publication number
CN110175157A
CN110175157A CN201910331414.5A CN201910331414A CN110175157A CN 110175157 A CN110175157 A CN 110175157A CN 201910331414 A CN201910331414 A CN 201910331414A CN 110175157 A CN110175157 A CN 110175157A
Authority
CN
China
Prior art keywords
file
spl
query
sql
statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910331414.5A
Other languages
English (en)
Other versions
CN110175157B (zh
Inventor
陈俊峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910331414.5A priority Critical patent/CN110175157B/zh
Publication of CN110175157A publication Critical patent/CN110175157A/zh
Priority to PCT/CN2019/117763 priority patent/WO2020215689A1/zh
Application granted granted Critical
Publication of CN110175157B publication Critical patent/CN110175157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种列存储文件的查询方法及查询装置
技术领域
本发明实施例涉及数据库管理技术领域,尤其涉及一种列存储文件的查询方法、查询装置、计算机设备及可读存储介质。
背景技术
当前的日志搜索系统中,Splunk公司开发的搜索处理语言(Search ProcessingLanguage,SPL)是一个常见的检索语言,用于查询已经被索引过的日志数据。然,有时因为对磁盘空间的要求,存放时间比较长的日志数据会以列存储的形式(比如parquet或者优化行柱(Optimized Row Columnar,orc))存放在分布式文件系统(Hadoop Distributed FileSystem,HDFS)上,以节省空间。当需要查询这些数据时,要求使用SPL语句查询这些列存储格式的数据文件。然,当前列存储格式的数据文件往往只支持使用结构化查询语言(Structured Query Language,SQL)作为查询语句的查询引擎,并进行数据查询,而不支持使用SPL语句进行查询。
因此,本发明旨在解决不支持SPL语句对列存储格式直接进行查询的问题。
发明内容
有鉴于此,有必要提供一种列存储文件的查询方法、查询装置、计算机设备及计算机可读存储介质,为原有日志搜索系统的用户提供了统一的查询模式,扩大了SPL语句的查询范围,为列存储数据的查询提供方便。
为实现上述目的,本发明实施例提供了一种列存储文件的查询方法,所述方法包括:
从终端获取用户输入的SPL查询语句;
根据所述SPL查询语句,确定在HDFS的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;
根据所述查询范围从所述第一文件中筛选出第二文件;
将所述SPL查询语句按照预设转化规则转化为SQL语句;
将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL;及
将所述目标查询文件输出至所述终端。
优选地,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤之前,还包括步骤:
获取所述用户输入的创建视图指令;
识别并执行所述创建视图指令以建立视图;及
获取所述用户输入的视图名。
优选地,预先建立SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中,其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤,还包括步骤:
识别与所述SPL查询语句对应的命令类型;及
根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为所述SQL语句。
优选地,所述根据所述查询范围从所述第一文件中筛选出第二文件的步骤,还包括:
根据所述命令类型,识别所述第二文件的查询时间范围及名称;及
从所述列存储文件中筛选出所述第二文件。
为实现上述目的,本发明实施例还提供了一种列存储文件的查询装置,包括:
获取模块,用于从终端获取用户输入的SPL查询语句;
确定模块,用于根据所述SPL查询语句,确定在HDFS的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;
筛选模块,用于根据所述查询范围从所述第一文件中筛选出第二文件;
转化模块,用于将所述SPL查询语句按照预设转化规则转化为SQL语句;
搜索模块,用于将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL;及
输出模块,用于将所述目标查询文件输出至所述终端。
优选地,所述查询装置还包括建立模块,所述获取模块,还用于获取所述用户输入的创建视图指令;建立模块,用于识别并执行所述创建视图指令以建立视图;及所述获取模块,还用于获取所述用户输入的视图名。
优选地,预先建立SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中,其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系,所述查询装置还包括识别装置,所述识别模块,用于识别与所述SPL查询语句对应的命令类型;及所述转化模块,用于根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为所述SQL语句。
优选地,所述识别模块,还用于根据所述命令类型,识别所述第二文件的查询时间范围及名称;及所述筛选模块,还用于从所述列存储文件中筛选出所述第二文件。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上所述的列存储文件的查询方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的列存储文件的查询方法的步骤。
本发明实施例提供的列存储文件的查询方法、查询装置、计算机设备及计算机可读存储介质,通过将SPL语句转换为SQL语句,根据SPL语句的查询时间范围确定HDFS列存储文件中符合所述查询时间范围的文件,并将所述文件导入至大数据平台SQL搜索引擎中,通过于所述大数据平台SQL搜索引擎执行所述SQL语句以搜索出目标查询文件并将所述目标查询文件输出至用户终端,为原有日志搜索系统的用户提供了统一的查询模式,扩大了SPL语句的查询范围,为列存储数据的查询提供方便。
附图说明
图1为本发明实施例一之列存储文件的查询方法的步骤流程图。
图2为本发明实施例二之查询装置的硬件架构示意图。
图3为本发明实施例三之列存储文件查询系统的程序模块示意图。
附图标记:
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参阅图1,示出了本发明实施例一之列存储文件的查询方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。需要说明是,本实施例以列存储文件的查询装置2(以下简称为查询装置2)为执行主体进行示例性描述。具体如下:
步骤S100,从终端获取用户输入的SPL查询语句。
具体地,当用户需要查询列存储文件时,所述查询装置2获取所述用户从终端输入的SPL查询语句。其中,所述查询语句至少包括:查询时间范围及名称。
步骤S102,根据所述SPL查询语句,确定在HDFS的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称及操作人员身份信息(identification,ID)。
步骤S104,根据所述查询范围从所述第一文件中筛选出第二文件。
具体地,当获取所述SPL查询语句时,根据所述SPL查询语句的类型识别待查询文件的查询时间范围及名称,并从所述列存储文件中筛选出与所述查询时间范围及名称对应的文件。需要说明的是,所述列存储文件按照预设存储规则进行存储,以提高查询效率,其中,所述预设存储规则可以根据用户的需要自由设置,可以包括应用名称、时间等,也可以包括其他标识,在此不作限定。示例性地,所述查询装置2中存储的文件按照/[应用名称]/[年]/[月]/[日]/[时]进行存放,当获取到所述用户使用SPL语句查询应用名为syslog,时间范围为2018年9月1日至9月3日的文件时,则确定的文件查询范围为应用名为syslog,时间范围为2018年9月1日至9月3日,并根据确定的查询范围筛选出/syslog/2018/9/1,/syslog/2018/9/2,/syslog/2018/9/3这3个文件夹中的文件。
需要说明的是,当所述查询装置2中存储的文件路径兼容Hive分区时,则每一层文件路径的格式为[field]=[value],若应用名称用appname表示,则存储的文件/syslog/2018/9/1路径为/appname=syslog/year=2018/month=9/day=1。
步骤S106,将所述SPL查询语句按照预设转化规则转化为SQL语句。
在一实施例中,所述查询装置2预先建立有SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中。其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系。具体地,当用户需要查询数据库表中部分内容时,将所述部分内容创建视图(也即临时表),并对所述视图进行命名,然后根据输入的SPL查询语句针对所述视图进行查询。当所述查询装置2接收到所述用户输入的创建视图指令时,识别并执行所述创建视图指令以建立视图。然后,当视图建立完成后,所述查询装置2根据用户对所述视图的命名以获取视图名,并在获取所述视图名后根据获取的SPL查询语句对所述视图进行查询。当所述查询装置2接收到所述SPL查询语句时,识别所述SPL查询语句对应的命令类型,并根据所述命令类型以及所述视图名将所述SPL查询语句按照所述映射关系转化为对应的SQL语句。
示例性地,SPL语句常用命令类型包括:SELECT语句“Streams:[A]”;WHERE语句“[my_field]:[number]”;SELECT语句“FIELDS[A],[B]”及LIKE语句“[A]=“*sometext*””。SQL语句常用命令类型包括:SELECT语句“SELECT*FROM[A]”;WHERE语句“SELECT*FROM[streams]WHERE[my_field]=[number]”;SELECT语句“SELECT[A],[B]”及LIKE语句“SELECT*FROM[streams]WHERE[A]LIKE“*some text*””。
示例性地,所述用户创建的视图名为temp_1,且所述视图内容包括:用户名、性别及出生日期等属性,当所述查询装置2接收到所述用户输入的SPL查询语句为:gender:[male]时,所述查询装置2根据所述映射关系将所述SPL查询语句转化SQL查询语句为SELECT*FROM temp_1where gender=male,则其映射关系为gender:[male]对应于SELECT*FROM temp_1where gender=male。
在一较佳实施例中,步骤S106可在步骤S102之前执行,两者也可并列执行,并不影响本发明实施例的实现。
步骤S108,将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件。其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL。
步骤S110,将所述目标查询文件输出至所述终端。
需要说明的是,若所述大数据平台SQL搜索引擎为Hive,Hive常见的数据导入方式包括:从本地文件系统中导入数据到Hive表;从HDFS上导入数据到Hive表;从别的表中查询出相应的数据并导入到Hive表中;在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。在本实施例中,采用的是从HDFS上导入数据到Hive表中,该导入步骤为现有技术,在此不作详细说明。若所述大数据平台SQL搜索引擎为Spark SQL,通过使用Spark SQL创建视图,并使用转换后的SQL语句进行查询以输出返回的结果。
在一较佳实施例中,所述大数据平台SQL搜索引擎在接收到所述查询范围内的文件时,执行所述SPL语句转换后的SQL语句,并将执行结果输出至用户终端,此时所述执行结果即为所述用户需要查询的文件,也即目标查询文件。
本发明实施例通过将SPL语句转换为SQL语句,根据SPL语句的查询时间范围确定HDFS列存储文件中符合所述查询时间范围的文件,并将所述文件导入至大数据平台SQL搜索引擎中,通过于所述大数据平台SQL搜索引擎执行所述SQL语句以搜索出目标查询文件并将所述目标查询文件输出至用户终端,为原有日志搜索系统的用户提供了统一的查询模式,扩大了SPL语句的查询范围,为列存储数据的查询提供方便。
实施例二
请参阅图2,示出了本发明实施例二之查询装置的硬件架构示意图。查询装置2包括,但不仅限于,可通过系统总线相互通信连接存储器21、处理22以及网络接口23,图2仅示出了具有组件21-23的查询装置2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述查询装置2的内部存储单元,例如该查询装置2的硬盘或内存。在另一些实施例中,所述存储器也可以是所述查询装置2的外部存储设备,例如该查询装置2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述查询装置2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述查询装置2的操作系统和各类应用软件,例如列存储文件查询系统24的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述查询装置2的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述列存储文件查询系统24等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述查询装置2与其他电子设备之间建立通信连接。例如,所述网络接口23用于通过网络将所述查询装置2与外部终端相连,在所述查询装置2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
实施例三
请参阅图3,示出了本发明实施例三之列存储文件查询系统的程序模块示意图。在本实施例中,列存储文件查询系统24可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述列存储文件的查询方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述列存储文件查询系统24在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
获取模块201,用于从终端获取用户输入的SPL查询语句。
具体地,当用户需要查询列存储文件时,所述获取模块201获取所述用户从终端输入的SPL查询语句。其中,所述查询语句至少包括:查询时间范围及名称。
确定模块202,用于根据所述SPL查询语句,确定在HDFS的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称及操作人员ID。
筛选模块203,用于根据所述查询范围从所述第一文件中筛选出第二文件。
具体地,当所述获取模块201获取所述SPL查询语句时,识别模块208根据所述SPL查询语句的类型识别待查询文件的查询时间范围及名称,所述筛选模块203从所述列存储文件中筛选出与所述查询时间范围及名称对应的文件。需要说明的是,所述列存储文件按照预设存储规则进行存储,以提高查询效率,其中,所述预设存储规则可以根据用户的需要自由设置,可以包括应用名称、时间等,也可以包括其他标识,在此不作限定。示例性地,所述查询装置2中存储的文件按照/[应用名称]/[年]/[月]/[日]/[时]进行存放,当所述获取模块201获取到所述用户使用SPL语句查询应用名为syslog,时间范围为2018年9月1日至9月3日的文件时,则所述识别模块208识别出文件查询范围为应用名为syslog,时间范围为2018年9月1日至9月3日,筛选模块203根据识别出的查询范围筛选出/syslog/2018/9/1,/syslog/2018/9/2,/syslog/2018/9/3这3个文件夹中的文件。
需要说明的是,当所述查询装置2中存储的文件路径兼容Hive分区时,则每一层文件路径的格式为[field]=[value],若应用名称用appname表示,则存储的文件/syslog/2018/9/1路径为/appname=syslog/year=2018/month=9/day=1。
转化模块204,用于将所述SPL查询语句按照预设转化规则转化为SQL语句。
在一实施例中,所述查询装置2预先建立有SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中。其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系。具体地,当用户需要查询表中部分内容时,将所述部分内容创建视图(也即临时表),并对所述视图进行命名,然后根据输入的SPL查询语句针对所述视图进行查询。当所述获取模块201获取到所述用户输入的创建视图指令时,建立模块207识别并执行所述创建视图指令以建立视图。然后,当视图建立完成后,所述获取模块201根据用户对所述视图的命名以获取视图名,并在获取所述视图名后根据获取的SPL查询语句对所述视图进行查询。当所述获取模块201接收到所述SPL查询语句时,所述识别模块208识别所述SPL查询语句对应的命令类型,然后,所述转化模块204根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为对应的SQL语句。
示例性地,SPL语句常用命令类型包括:SELECT语句“Streams:[A]”;WHERE语句“[my_field]:[number]”;SELECT语句“FIELDS[A],[B]”及LIKE语句“[A]=“*sometext*””。SQL语句常用命令类型包括:SELECT语句“SELECT*FROM[A]”;WHERE语句“SELECT*FROM[streams]WHERE[my_field]=[number]”;SELECT语句“SELECT[A],[B]”及LIKE语句“SELECT*FROM[streams]WHERE[A]LIKE“*some text*””。
示例性地,若所述用户创建的视图名为temp_1,且所述视图内容包括:用户名、性别及出生日期等属性,当所述查询装置2接收到所述用户输入的SPL查询语句为:gender:[male]时,所述查询装置2根据所述映射关系将所述SPL查询语句转化SQL查询语句为SELECT*FROM temp_1where gender=male,则其映射关系为gender:[male]对应于SELECT*FROM temp_1where gender=male。
搜索模块205,用于将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件。其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL。
输出模块206,用于将所述目标查询文件输出至所述终端。
需要说明的是,若所述大数据平台SQL搜索引擎为Hive,Hive常见的数据导入方式包括:从本地文件系统中导入数据到Hive表;从HDFS上导入数据到Hive表;从别的表中查询出相应的数据并导入到Hive表中;在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。在本实施例中,采用的是从HDFS上导入数据到Hive表中,该导入步骤为现有技术,在此不作详细说明。若所述大数据平台SQL搜索引擎为Spark SQL,通过使用Spark SQL创建视图,并使用转换后的SQL语句进行查询以输出返回的结果。
在一较佳实施例中,所述大数据平台SQL搜索引擎在接收到所述查询范围内的文件时,执行所述SPL语句转换后的SQL语句,并将执行结果输出至用户终端,此时所述执行结果即为所述用户需要查询的文件,也即目标查询文件。
本发明实施例通过将SPL语句转换为SQL语句,根据SPL语句的查询时间范围确定HDFS列存储文件中符合所述查询时间范围的文件,并将所述文件导入至大数据平台SQL搜索引擎中,通过于所述大数据平台SQL搜索引擎执行所述SQL语句以搜索出目标查询文件并将所述目标查询文件输出至用户终端,为原有日志搜索系统的用户提供了统一的查询模式,扩大了SPL语句的查询范围,为列存储数据的查询提供方便。
本发明还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器、处理器等。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储列存储文件查询系统24,被处理器执行时实现实施例一的列存储文件的查询方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种列存储文件的查询方法,其特征在于,包括步骤:
从终端获取用户输入的SPL查询语句;
根据所述SPL查询语句,确定在分布式文件系统的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;
根据所述查询范围从所述第一文件中筛选出第二文件;
将所述SPL查询语句按照预设转化规则转化为SQL语句;
将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL;及
将所述目标查询文件输出至所述终端。
2.如权利要求1所述的查询方法,其特征在于,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤之前,还包括步骤:
获取所述用户输入的创建视图指令;
识别并执行所述创建视图指令以建立视图;及
获取所述用户输入的视图名。
3.如权利要求2所述的查询方法,其特征在于,预先建立SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中,其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系,所述将所述SPL查询语句按照预设转化规则转化为SQL语句的步骤,还包括步骤:
识别与所述SPL查询语句对应的命令类型;及
根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为所述SQL语句。
4.如权利要求3所述的查询方法,其特征在于,所述根据所述查询范围从所述第一文件中筛选出第二文件的步骤,还包括:
根据所述命令类型,识别所述第二文件的查询时间范围及名称;及
从所述列存储文件中筛选出所述第二文件。
5.一种列存储文件的查询装置,其特征在于,包括:
获取模块,用于从终端获取用户输入的SPL查询语句;
确定模块,用于根据所述SPL查询语句,确定在分布式文件系统的第一文件中的查询范围,其中,所述第一文件为列存储文件,所述第一文件按照预设存储规则进行分类存储,所述预设存储规则包括:时间顺序、应用名称和/或操作人员ID;
筛选模块,用于根据所述查询范围从所述第一文件中筛选出第二文件;
转化模块,用于将所述SPL查询语句按照预设转化规则转化为SQL语句;
搜索模块,用于将所述第二文件导入至大数据平台SQL搜索引擎中,以使所述大数据平台SQL搜索引擎执行所述SQL语句,以搜索出目标查询文件,其中,所述大数据平台SQL搜索引擎包括Hive和/或Spark SQL;及
输出模块,用于将所述目标查询文件输出至所述终端。
6.如权利要求5所述的查询装置,其特征在于,还包括:
所述获取模块,还用于获取所述用户输入的创建视图指令;
建立模块,用于识别并执行所述创建视图指令以建立视图;及
所述获取模块,还用于获取所述用户输入的视图名。
7.如权利要求6所述的查询装置,其特征在于,预先建立SPL语句常用命令以及SQL语句常用命令的转化映射表,并将所述转化映射表存储于数据库中,其中,所述转化映射表至少包括:SPL语句常用命令类型、SQL语句常用命令类型及所述SPL语句常用命令与所述SQL语句常用命令在所述视图名确定时的映射关系,还包括:
识别模块,用于识别与所述SPL查询语句对应的命令类型;及
所述转化模块,用于根据所述命令类型以及所述视图名,将所述SPL查询语句按照所述映射关系转化为所述SQL语句。
8.如权利要求7所述的查询装置,其特征在于,还包括:
所述识别模块,还用于根据所述命令类型,识别所述第二文件的查询时间范围及名称;及
所述筛选模块,还用于从所述列存储文件中筛选出所述第二文件。
9.一种计算机设备,其特征在于,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的查询方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-4中任一项所述的查询方法的步骤。
CN201910331414.5A 2019-04-24 2019-04-24 一种列存储文件的查询方法及查询装置 Active CN110175157B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910331414.5A CN110175157B (zh) 2019-04-24 2019-04-24 一种列存储文件的查询方法及查询装置
PCT/CN2019/117763 WO2020215689A1 (zh) 2019-04-24 2019-11-13 一种列存储文件的查询方法及查询装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910331414.5A CN110175157B (zh) 2019-04-24 2019-04-24 一种列存储文件的查询方法及查询装置

Publications (2)

Publication Number Publication Date
CN110175157A true CN110175157A (zh) 2019-08-27
CN110175157B CN110175157B (zh) 2023-10-03

Family

ID=67690041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910331414.5A Active CN110175157B (zh) 2019-04-24 2019-04-24 一种列存储文件的查询方法及查询装置

Country Status (2)

Country Link
CN (1) CN110175157B (zh)
WO (1) WO2020215689A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581236A (zh) * 2020-04-02 2020-08-25 中国邮政储蓄银行股份有限公司 数据查询方法和装置
CN111782682A (zh) * 2020-06-30 2020-10-16 北京金山云网络技术有限公司 数据查询方法、装置、设备及存储介质
WO2020215689A1 (zh) * 2019-04-24 2020-10-29 平安科技(深圳)有限公司 一种列存储文件的查询方法及查询装置
CN113722337A (zh) * 2021-11-03 2021-11-30 深圳市信润富联数字科技有限公司 业务数据确定方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792071A (zh) * 2021-09-18 2021-12-14 上海中通吉网络技术有限公司 Sql智能生成并调优组件和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050273755A1 (en) * 2004-06-03 2005-12-08 Lucent Technologies Inc. Scripting engine for network communication software
CN104794247A (zh) * 2015-05-14 2015-07-22 东南大学 一种多结构数据库集成查询方法
US20180032930A1 (en) * 2015-10-07 2018-02-01 0934781 B.C. Ltd System and method to Generate Queries for a Business Database
WO2018095351A1 (zh) * 2016-11-28 2018-05-31 中兴通讯股份有限公司 搜索处理方法及装置
CN109271428A (zh) * 2018-09-11 2019-01-25 北京市计算中心 数据抽取方法及基于地理信息的数据展示方法
US20190034540A1 (en) * 2017-07-28 2019-01-31 Insight Engines, Inc. Natural language search with semantic mapping and classification

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826258A (en) * 1996-10-02 1998-10-20 Junglee Corporation Method and apparatus for structuring the querying and interpretation of semistructured information
CN103324701B (zh) * 2013-06-13 2018-10-09 深圳中兴网信科技有限公司 数据搜索装置和数据搜索方法
TWI636369B (zh) * 2016-04-19 2018-09-21 中華電信股份有限公司 即時串流紀錄資料分析系統與方法
CN110175157B (zh) * 2019-04-24 2023-10-03 平安科技(深圳)有限公司 一种列存储文件的查询方法及查询装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050273755A1 (en) * 2004-06-03 2005-12-08 Lucent Technologies Inc. Scripting engine for network communication software
CN104794247A (zh) * 2015-05-14 2015-07-22 东南大学 一种多结构数据库集成查询方法
US20180032930A1 (en) * 2015-10-07 2018-02-01 0934781 B.C. Ltd System and method to Generate Queries for a Business Database
WO2018095351A1 (zh) * 2016-11-28 2018-05-31 中兴通讯股份有限公司 搜索处理方法及装置
US20190034540A1 (en) * 2017-07-28 2019-01-31 Insight Engines, Inc. Natural language search with semantic mapping and classification
CN109271428A (zh) * 2018-09-11 2019-01-25 北京市计算中心 数据抽取方法及基于地理信息的数据展示方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020215689A1 (zh) * 2019-04-24 2020-10-29 平安科技(深圳)有限公司 一种列存储文件的查询方法及查询装置
CN111581236A (zh) * 2020-04-02 2020-08-25 中国邮政储蓄银行股份有限公司 数据查询方法和装置
CN111782682A (zh) * 2020-06-30 2020-10-16 北京金山云网络技术有限公司 数据查询方法、装置、设备及存储介质
CN111782682B (zh) * 2020-06-30 2024-01-02 北京金山云网络技术有限公司 数据查询方法、装置、设备及存储介质
CN113722337A (zh) * 2021-11-03 2021-11-30 深圳市信润富联数字科技有限公司 业务数据确定方法、装置、设备及存储介质
CN113722337B (zh) * 2021-11-03 2022-06-10 深圳市信润富联数字科技有限公司 业务数据确定方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110175157B (zh) 2023-10-03
WO2020215689A1 (zh) 2020-10-29

Similar Documents

Publication Publication Date Title
CN110175157A (zh) 一种列存储文件的查询方法及查询装置
CN107958016B (zh) 功能页面定制方法及应用服务器
CN111339041B (zh) 文件解析入库、文件生成方法及装置
EP3454209A1 (en) Multi-task scheduling method and system, application server and computer-readable storage medium
CN107577420B (zh) 文件处理方法和装置、服务器
CN109408746A (zh) 画像信息查询方法、装置、计算机设备和存储介质
CN109299157B (zh) 一种分布式大单表的数据导出方法及装置
CN108874924A (zh) 搜索服务的创建方法、装置及计算机可读存储介质
CN110245145A (zh) 关系型数据库到Hadoop数据库的结构同步方法和装置
CN108900547B (zh) 回源控制方法及装置
CN111784468B (zh) 一种账户关联方法、装置及电子设备
CN113220659A (zh) 一种数据迁移的方法、系统、电子装置和存储介质
CN110162540B (zh) 区块链账本数据的查询方法、电子装置及存储介质
CN112840334A (zh) 管理分区表的数据的方法、装置、管理节点及存储介质
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
CN112579633A (zh) 一种数据检索方法、装置、设备及存储介质
CN116150236A (zh) 数据同步方法及装置、电子设备、计算机可读存储介质
CN107463618B (zh) 一种索引创建方法和装置
CN112632266B (zh) 数据写入方法、装置、计算机设备及可读存储介质
CN112579705B (zh) 元数据采集方法、装置、计算机设备和存储介质
CN110287406A (zh) 渠道用户推荐方法、服务器及计算机可读存储介质
CN109885710A (zh) 基于差分演化算法的用户画像刻画方法及服务器
CN115809249B (zh) 一种基于专有化数据集的数据湖管理方法及系统
CN116991815B (zh) 一种分布式存储系统的日志收集方法、装置、设备及介质
CN111708751B (zh) 一种基于Hue实现数据加载的方法,系统,设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant