CN110688416A - 一种数据查询方法、装置及电子设备 - Google Patents

一种数据查询方法、装置及电子设备 Download PDF

Info

Publication number
CN110688416A
CN110688416A CN201910837642.XA CN201910837642A CN110688416A CN 110688416 A CN110688416 A CN 110688416A CN 201910837642 A CN201910837642 A CN 201910837642A CN 110688416 A CN110688416 A CN 110688416A
Authority
CN
China
Prior art keywords
data
dimension
kafka
json format
model
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.)
Pending
Application number
CN201910837642.XA
Other languages
English (en)
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.)
Shenzhen Clp Smart Security Polytron Technologies Inc
Original Assignee
Shenzhen Clp Smart Security Polytron Technologies Inc
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 Shenzhen Clp Smart Security Polytron Technologies Inc filed Critical Shenzhen Clp Smart Security Polytron Technologies Inc
Priority to CN201910837642.XA priority Critical patent/CN110688416A/zh
Publication of CN110688416A publication Critical patent/CN110688416A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

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

Abstract

本发明实施例涉及互联网技术领域,公开了一种数据查询方法,应用于数据查询***,该***包括Kafka和Kylin,该方法通过数据抓取工具将源端的数据抓取至Kafka,然后Kafka将所述源端的数据转化为JSON格式的数据,接着通过Kylin定义数据模型的维度和聚合维度,然后Kylin能够根据所述JSON格式的数据和所述数据模型,生成聚合数据,最后通过SQL语句查询所述聚合数据,本发明提供的数据查询方法能够对海量数据进行快速查询。

Description

一种数据查询方法、装置及电子设备
技术领域
本发明实施例涉及互联网技术领域,特别涉及一种数据查询方法、装置及电子设备。
背景技术
在传统的数据查询及分析方法中,由于数据从源端获取后,在ETL过程(数据萃取、转置、加载至目的端的过程)中,数据需要落地(保存至数据库),随着大数据技术的发展,数据查询过程中需要查询的数据量呈几何级别增长,而随着数据量的不断增长,通过传统的SQL查询方法查询数据时查询速度会越来越慢。
发明内容
针对现有技术的上述缺陷,本发明实施例的目的是提供一种能够快速查询海量数据的数据查询方法、装置及电子设备。
本发明实施例的目的是通过如下技术方案实现的:
为解决上述技术问题,第一方面,本发明实施例中提供了一种数据查询方法,应用于数据查询***,该***包括Kafka和Kylin,所述方法包括:
通过数据抓取工具将源端的数据抓取至Kafka;
通过Kafka将所述源端的数据转化为JSON格式的数据;
通过Kylin定义数据模型的维度和聚合维度;
根据所述JSON格式的数据和所述数据模型,生成聚合数据;
通过SQL语句查询所述聚合数据。
在一些实施例中,所述通过Kafka将所述源端的数据转化为JSON格式的数据的步骤,具体包括:
通过Streams API将所述源端的数据转化为所述JSON格式的数据;
将所述JSON格式的数据发布至Topic。
在一些实施例中,所述根据所述JSON格式的数据和所述数据模型,生成聚合数据的步骤,具体包括:
通过所述Topic读取所述JSON格式的数据;
通过Spark聚合所述JSON格式的数据中各维度的数据的度量值,生成按各个所述维度排列组合的所述聚合数据。
在一些实施例中,在所述数据模型为上报状态模型时,所述维度包括:地区维、设备状态维和设备维,所述度量值包括:上报次数。
在一些实施例中,在所述数据模型为消防检查模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:检查单位数;
在所述数据模型为隐患记录模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:隐患数和整改数。
在一些实施例中,所述地区维包括:属地线地区维和执法线地区维。
在一些实施例中,在所述通过SQL语句查询所述聚合数据的步骤之前,所述方法还包括:
将所述聚合数据存储至HBASE。
在一些实施例中,所述数据抓取工具为Canal或Flume或Debezium。
为解决上述技术问题,第二方面,本发明实施例中提供了一种数据查询装置,应用于数据查询***,该***包括Kafka和Kylin,所述装置包括:
抓取模块,用于通过数据抓取工具将源端的数据抓取至Kafka;
转化模块,用于通过Kafka将所述源端的数据转化为JSON格式的数据;
定义模块,用于通过Kylin定义数据模型的维度和聚合维度;
生成模块,用于根据所述JSON格式的数据和所述数据模型,生成聚合数据;
查询模块,用于通过SQL语句查询所述聚合数据。
为解决上述技术问题,第三方面,本发明实施例提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上第一方面所述的方法。
为解决上述技术问题,第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上第一方面所述的方法。
为解决上述技术问题,第五方面,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上第一方面所述的方法。
与现有技术相比,本发明的有益效果是:区别于现有技术的情况,本发明实施例中提供了一种数据查询方法、装置及电子设备,应用于数据查询***,该***包括Kafka和Kylin,该方法通过数据抓取工具将源端的数据抓取至Kafka,然后Kafka将所述源端的数据转化为JSON格式的数据,接着通过Kylin定义数据模型的维度和聚合维度,然后Kylin能够根据所述JSON格式的数据和所述数据模型,生成聚合数据,最后通过SQL语句查询所述聚合数据,本发明提供的数据查询方法能够对海量数据进行快速查询。
附图说明
一个或多个实施例中通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件/模块和步骤表示为类似的元件/模块和步骤,除非有特别申明,附图中的图不构成比例限制。
图1是应用于本发明的数据查询方法的实施例的示例性***架构示意图;
图2是本发明实施例提供的一种数据查询方法的流程图;
图3是图2所示方法中步骤120的一子流程图;
图4是图2所示方法中步骤140的一子流程图;
图5是本发明实施例提供的另一种数据查询方法的流程图;
图6是本发明实施例提供的一种数据查询装置的结构示意图;
图7是本发明实施例提供的执行上述数据查询方法的电子设备的硬件结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
请参见图1,为应用于本发明的数据查询方法的实施例的示例性***架构示意图。如图1所示,该***架构包括:电子设备10和源端20。所述电子设备10与所述源端20通信连接,所述通信连接可以是网络连接,可以包括各种连接类型,比如有线、无线通信或者光纤电缆等。
所述电子设备10通过数据抓取工具抓取所述源端20的数据,进一步对所述数据进行聚合处理后,生成能够通过SQL语句查询的聚合数据。所述电子设备10为具有分析、计算、建模功能的设备,其能够运行数据查询***,在抓取到所述数据时,将数据抓取至数据查询***中的Kafka,然后通过Kafka将所述源端的数据转化为JSON格式的数据,再通过通过数据查询***中的Kylin定义数据模型的维度和聚合维度,最后根据所述JSON格式的数据和所述数据模型,生成能够通过SQL语句查询的聚合数据。
在本发明实施例中,所述电子设备10可以是一种物理的具有计算功能的终端服务器,通过网络以一定的通信协议与所述源端20连接。或者,也可以是云服务器、云主机、云服务平台、云计算平台等,同样的能够通过网络与所述源端20通过一定的通信协议通信连接。所述网络可是以太网或者是局域网,所述通信协议可以是TCP/IP、NETBEUI和IPX/SPX等通信协议,所述通信连接可以是无线连接或者有线连接,具体地,可根据实际需要进行设置。
需要说明的是,本申请实施例所提供的数据查询方法一般由上述电子设备10执行,相应地,数据查询装置一般设置于电子设备10中。
所述源端20指的是各类授予所述电子设备10查询权限的设备/装置,所述源端20内存储有数据库或者日志或者文件,所述电子设备10可以通过数据抓取工具抓取所述源端20内数据库或者日志或者文件内的数据。
所述源端20与所述电子设备10相同的,可以是各类终端服务器、云服务器、云服务平台、网络节点等,通过如上所述的各类通信协议与所述电子设备10通信连接。进一步地,所述源端20还可以是所述电子设备10内存储的数据库或者日志或者文件等。
具体地,下面结合附图,对本发明实施例作进一步阐述。
本发明实施例提供了一种数据查询方法,该方法可被上述电子设备10执行,请参见图2,其示出了根据上述***架构所应用的一种数据查询方法的流程图,该方法应用于数据查询***,该***包括Kafka和Kylin,该方法包括但不限于以下步骤:
步骤110:通过数据抓取工具将源端的数据抓取至Kafka。
所述Kafka指的是由Apache软件基金会开发的一种分布式流式数据处理平台,其用于对从所述源端抓取的数据进行加工处理。例如在消防安全领域,所述加工处理包括但不限于:设备状态的统一处理,单位检查记录和隐患记录与维表关联以及处理脏数据等。
在本发明实施例中,将所述数据从源端抓取后直接输入至所述Kafka进行数据处理,其过程中不需要将数据保存至文件或数据库中,形成一快速数据处理通道。
在一些实施例中,所述数据抓取工具为Canal(一种基于数据库增量日志解析工具,能够抓取增量数据)或Flume(一种高可用的,高可靠的,分布式的海量日志采集、聚合和传输的***,支持在日志***中定制各类数据发送方,用于收集数据)或Debezium(一种捕获数据更改(CDC)平台),通过所述数据抓取工具将源端的增量数据抽取到所述Kafka上。
步骤120:通过Kafka将所述源端的数据转化为JSON格式的数据。
在本发明实施例中,由于从所述源端抓取的数据的数据格式是多样的,需要将所述数据转化为统一的JSON格式的数据,以便于进一步对所有抓取的数据进行聚合处理。
步骤130:通过Kylin定义数据模型的维度和聚合维度。
所述Kylin为一种大数据分布式多维分析引擎,其具有多维分析(OLAP)能力,并提供了SQL查询接口。通过所述Kylin能够定义多组数据模型的维度,并进一步定义其聚合维度。例如,定义地区和时间为数据模型的两种维度,那么其聚合维度可定义为地区维度和时间维度的排列组合,任一地区维度和任一时间维度的组合即为所述聚合维度,依次类推,所述聚合维度还可以是两个以上的维度的聚合。
在本发明实施例中,构建数据模型的步骤具体为:首先构建项目,也即是选择事实表,然后定义所述聚合维度和事实表,然后根据从所述Kafka获取的JSON格式的数据不断更新所述事实表,最后根据所述事实表建立所述数据模型。其中,所述事实表用于表征某一维度的度量值。继续以上述地区和时间两个维度为例,将所述地区和时间两个维度的数据通过所述事实表相关联,排列组合所有地区维度和所有时间维度的度量值后,各时间维度的度量值在各地区维度的度量值即为所述聚合数据。
步骤140:根据所述JSON格式的数据和所述数据模型,生成聚合数据。
在本发明实施例中,所述Kylin能够将大量的所述JSON格式的数据按照所述维度存储至其数据模型中,经计算和统计所有能够相互组合的维度的数据后,可以得到多组不同维度组合的数据,即所述聚合数据。
步骤150:通过SQL语句查询所述聚合数据。
在本发明实施例中,通过所述Kylin提供的SQL查询接口查询聚合数据。本发明实施例提供的数据查询方法,在通过所述Kafka提供增量数据、所述Kylin将增量数据进行聚合构建的方式下,数据传输过程中没有落地,在查询数据时,能够实现亚秒级查询。理论上,在不添加维度的情况下,数据量的增长和查询速度无关,也就是说,Kafka无限获取数据的情况下,通过所述Kylin的SQL查询接口查询聚合数据的查询速度不会变慢。
本发明实施例中提供了一种数据查询方法,应用于数据查询***,该***包括Kafka和Kylin,该方法通过数据抓取工具将源端的数据抓取至Kafka,然后Kafka将所述源端的数据转化为JSON格式的数据,接着通过Kylin定义数据模型的维度和聚合维度,然后Kylin能够根据所述JSON格式的数据和所述数据模型,生成聚合数据,最后通过SQL语句查询所述聚合数据,本发明提供的数据查询方法能够对海量数据进行快速查询。
在一些实施例中,请参见图3,为图2所示方法中步骤120的一子流程图,所述步骤120具体包括:
步骤121:通过Streams API将所述源端的数据转化为所述JSON格式的数据。
步骤122:将所述JSON格式的数据发布至Topic。
所述Streams API为一种能够对集合对象进行各种便利、高效的聚合操作或者大批量数据操作的工具。所述Topic是Kafka数据写入操作的基本单元,能够用于实现消息通信。在本发明实施例中,所述Kafka以字符串的形式将所述JSON格式的数据发布至Topic,所述Kylin再通过所述Topic读取所述JSON格式的数据。
在一些实施例中,请参见图4,为图2所示方法中步骤140的一子流程图,基于图2和图3所述的方法,所述步骤140具体包括:
步骤141:通过所述Topic读取所述JSON格式的数据。
在本发明实施例中,所述Kylin中需要预先将数据模型的数据结构定义为所述JSON结构,以获取来自所述Kafka的所述JSON格式的数据。所述Kafka将所述JSON格式的数据发布至Topic上后,所述Kylin自动读取Topic上的所述JSON格式的数据。
步骤142:通过Spark聚合所述JSON格式的数据中各维度的数据的度量值,生成按各个所述维度排列组合的所述聚合数据。
其中,在所述数据模型为上报状态模型时,所述维度包括:地区维、设备状态维和设备维,所述度量值包括:上报次数。在所述数据模型为消防检查模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:检查单位数;在所述数据模型为隐患记录模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:隐患数和整改数。所述地区维包括:属地线地区维和执法线地区维。所述时间维的最小粒度到天。
在本发明实施例中,采用Spark引擎聚合所述JSON格式的数据,相比于传统的采用MapReduce引擎聚合所述JSON格式的数据的方式,其计算速度更快。具体地,Spark根据所述数据的维度和度量值,生成每一维度组合的数据。
在一些实施例中,请参见图5,为本发明实施例提供的另一种数据查询方法的流程图,基于图2至图4,所述方法还包括:
步骤160:将所述聚合数据存储至HBASE。
所述HBase为一高可靠性、高性能、面向列、可伸缩的分布式存储***,其为一适合于非结构化数据存储的数据库,能够实现海量数据的存储。在本发明实施例中,构建后的聚合数据存储至HBASE中,查询数据时,通过Kylin的SQL查询端口引导至要查询的聚合数据,以实现秒级查询。具体地,将聚合数据转化为HTable格式的Hfile文件,然后将所述聚合数据和所述HTable进行关联,以使所述聚合数据存储至所述HBASE。
本发明实施例还提供了一种数据查询装置,请参见图6,其示出了本申请实施例提供的一种数据查询装置的结构,该数据查询装置200应用于数据查询***,该***包括Kafka和Kylin,该数据查询装置200包括:抓取模块210、转化模块220、定义模块230、生成模块240和查询模块250。
所述抓取模块210用于通过数据抓取工具将源端的数据抓取至Kafka。
所述转化模块220用于通过Kafka将所述源端的数据转化为JSON格式的数据。
所述定义模块230用于通过Kylin定义数据模型的维度和聚合维度。
所述生成模块240用于根据所述JSON格式的数据和所述数据模型,生成聚合数据。
所述查询模块250用于通过SQL语句查询所述聚合数据。
在一些实施例中,所述转化模块220还用于通过Streams API将所述源端的数据转化为所述JSON格式的数据;将所述JSON格式的数据发布至Topic。
在一些实施例中,所述生成模块240还用于通过所述Topic读取所述JSON格式的数据;通过Spark聚合所述JSON格式的数据中各维度的数据的度量值,生成按各个所述维度排列组合的所述聚合数据。
在一些实施例中,在所述数据模型为上报状态模型时,所述维度包括:地区维、设备状态维和设备维,所述度量值包括:上报次数。
在一些实施例中,在所述数据模型为消防检查模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:检查单位数;
在所述数据模型为隐患记录模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:隐患数和整改数。
在一些实施例中,所述地区维包括:属地线地区维和执法线地区维。
在一些实施例中,所述数据查询装置还包括:存储模块,用于将所述聚合数据存储至HBASE。
在一些实施例中,所述数据抓取工具为Canal或Flume或Debezium。
本发明实施例中提供了一种数据查询方法装置,应用于数据查询***,该***包括Kafka和Kylin,该装置中的抓取模块210装置通过数据抓取工具将源端的数据抓取至Kafka,然后转化模块220通过Kafka将所述源端的数据转化为JSON格式的数据,接着定义模块230通过Kylin定义数据模型的维度和聚合维度,然后生成模块240通过Kylin能够根据所述JSON格式的数据和所述数据模型,生成聚合数据,最后查询模块250通过SQL语句查询所述聚合数据,本发明提供的数据查询方法能够对海量数据进行快速查询。
本发明实施例还提供了一种电子设备,请参见图7,其示出了能够执行图2至图5所述数据查询方法的电子设备的硬件结构。所述电子设备10可以是图1所示的电子设备10。
所述电子设备10包括:至少一个处理器11;以及,与所述至少一个处理器11通信连接的存储器12,图7中以其以一个处理器11为例。所述存储器12存储有可被所述至少一个处理器11执行的指令,所述指令被所述至少一个处理器11执行,以使所述至少一个处理器11能够执行上述图2至图5所述的数据查询方法。所述处理器11和所述存储器12可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器12作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据查询方法对应的程序指令/模块,例如,附图6所示的各个模块。处理器11通过运行存储在存储器12中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例数据查询方法。
存储器12可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据数据查询装置的使用所创建的数据等。此外,存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器12可选包括相对于处理器11远程设置的存储器,这些远程存储器可以通过网络连接至数据查询装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器12中,当被所述一个或者多个处理器11执行时,执行上述任意方法实施例中的数据查询方法,例如,执行以上描述的图2至图5的方法步骤,实现图6中的各模块和各单元的功能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图2至图5的方法步骤,实现图6中的各模块的功能。
本申请实施例还提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的数据查询方法,例如,执行以上描述的图2至图5的方法步骤,实现图6中的各模块的功能。
本发明实施例中提供了一种数据查询方法、装置及电子设备,应用于数据查询***,该***包括Kafka和Kylin,该方法通过数据抓取工具将源端的数据抓取至Kafka,然后Kafka将所述源端的数据转化为JSON格式的数据,接着通过Kylin定义数据模型的维度和聚合维度,然后Kylin能够根据所述JSON格式的数据和所述数据模型,生成聚合数据,最后通过SQL语句查询所述聚合数据,本发明提供的数据查询方法能够对海量数据进行快速查询。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种数据查询方法,其特征在于,应用于数据查询***,该***包括Kafka和Kylin,所述方法包括:
通过数据抓取工具将源端的数据抓取至Kafka;
通过Kafka将所述源端的数据转化为JSON格式的数据;
通过Kylin定义数据模型的维度和聚合维度;
根据所述JSON格式的数据和所述数据模型,生成聚合数据;
通过SQL语句查询所述聚合数据。
2.根据权利要求1所述的方法,其特征在于,所述通过Kafka将所述源端的数据转化为JSON格式的数据的步骤,具体包括:
通过Streams API将所述源端的数据转化为所述JSON格式的数据;
将所述JSON格式的数据发布至Topic。
3.根据权利要求2所述的方法,其特征在于,所述根据所述JSON格式的数据和所述数据模型,生成聚合数据的步骤,具体包括:
通过所述Topic读取所述JSON格式的数据;
通过Spark聚合所述JSON格式的数据中各维度的数据的度量值,生成按各个所述维度排列组合的所述聚合数据。
4.根据权利要求3所述的方法,其特征在于,
在所述数据模型为上报状态模型时,所述维度包括:地区维、单位维、建筑物维、场所维、设备状态维和设备维,所述度量值包括:上报次数。
5.根据权利要求3所述的方法,其特征在于,
在所述数据模型为消防检查模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:检查单位数;
在所述数据模型为隐患记录模型时,所述维度包括:地区维、时间维和单位维,所述度量值包括:隐患数和整改数。
6.根据权利要求4或5所述的方法,其特征在于,
所述地区维包括:属地线地区维和执法线地区维。
7.根据权利要求1所述的方法,其特征在于,在所述通过SQL语句查询所述聚合数据的步骤之前,所述方法还包括:
将所述聚合数据存储至HBASE。
8.根据权利要求1所述的方法,其特征在于,
所述数据抓取工具为Canal或Flume或Debezium。
9.一种数据查询装置,其特征在于,应用于数据查询***,该***包括Kafka和Kylin,所述装置包括:
抓取模块,用于通过数据抓取工具将源端的数据抓取至Kafka;
转化模块,用于通过Kafka将所述源端的数据转化为JSON格式的数据;
定义模块,用于通过Kylin定义数据模型的维度和聚合维度;
生成模块,用于根据所述JSON格式的数据和所述数据模型,生成聚合数据;
查询模块,用于通过SQL语句查询所述聚合数据。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8任一项所述的方法。
CN201910837642.XA 2019-09-05 2019-09-05 一种数据查询方法、装置及电子设备 Pending CN110688416A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910837642.XA CN110688416A (zh) 2019-09-05 2019-09-05 一种数据查询方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910837642.XA CN110688416A (zh) 2019-09-05 2019-09-05 一种数据查询方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN110688416A true CN110688416A (zh) 2020-01-14

Family

ID=69107847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910837642.XA Pending CN110688416A (zh) 2019-09-05 2019-09-05 一种数据查询方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110688416A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106997386A (zh) * 2017-03-28 2017-08-01 上海跬智信息技术有限公司 一种olap预计算模型、自动建模方法及自动建模***
CN107958080A (zh) * 2017-12-14 2018-04-24 上海特易信息科技有限公司 一种基于ElasticSearch的大数据报表处理方法
CN108804459A (zh) * 2017-05-02 2018-11-13 杭州海康威视数字技术股份有限公司 数据查询方法及装置
CN109614401A (zh) * 2018-12-06 2019-04-12 航天恒星科技有限公司 基于ElasticSearch和Hbase技术的网络传输数据存储***
CN109684352A (zh) * 2018-12-29 2019-04-26 江苏满运软件科技有限公司 数据分析***、方法、存储介质及电子设备
CN110019396A (zh) * 2017-12-01 2019-07-16 ***通信集团广东有限公司 一种基于分布式多维分析的数据分析***及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106997386A (zh) * 2017-03-28 2017-08-01 上海跬智信息技术有限公司 一种olap预计算模型、自动建模方法及自动建模***
CN108804459A (zh) * 2017-05-02 2018-11-13 杭州海康威视数字技术股份有限公司 数据查询方法及装置
CN110019396A (zh) * 2017-12-01 2019-07-16 ***通信集团广东有限公司 一种基于分布式多维分析的数据分析***及方法
CN107958080A (zh) * 2017-12-14 2018-04-24 上海特易信息科技有限公司 一种基于ElasticSearch的大数据报表处理方法
CN109614401A (zh) * 2018-12-06 2019-04-12 航天恒星科技有限公司 基于ElasticSearch和Hbase技术的网络传输数据存储***
CN109684352A (zh) * 2018-12-29 2019-04-26 江苏满运软件科技有限公司 数据分析***、方法、存储介质及电子设备

Similar Documents

Publication Publication Date Title
Bajer Building an IoT data hub with Elasticsearch, Logstash and Kibana
CN110716910B (zh) 一种日志管理方法、装置、设备和存储介质
CN107634848B (zh) 一种采集分析网络设备信息的***和方法
CN108108288A (zh) 一种日志数据解析方法、装置及设备
US11188443B2 (en) Method, apparatus and system for processing log data
CN104036025A (zh) 一种基于分布式的海量日志采集***
CN107391770B (zh) 一种处理数据的方法、装置、设备以及存储介质
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
CN105930384A (zh) 基于Hadoop体系的传感云数据存储***及其实现方法
CN110519077A (zh) 一种日志采集***、方法、装置、服务器及存储介质
CN111740868B (zh) 告警数据的处理方法和装置及存储介质
KR102067032B1 (ko) 하이브리드 빅데이터 시스템 기반 데이터 처리 방법 및 시스템
CN104899323A (zh) 一种用于idc有害信息监测平台的爬虫***
CN110147470B (zh) 一种跨机房数据比对***及方法
CN111400288A (zh) 数据质量检查方法及***
CN112347501A (zh) 数据处理方法、装置、设备及存储介质
CN113900810A (zh) 分布式图处理方法、***及存储介质
CN113360581A (zh) 数据处理方法、装置及存储介质
CN107153702A (zh) 一种数据处理方法及装置
US20140250332A1 (en) Log file reduction according to problem-space network topology
WO2015196885A1 (zh) 云计算***的性能数据的采集与存储方法及装置
CN112905571B (zh) 一种列车轨道交通传感器数据管理方法及装置
CN113721856A (zh) 一种数字化社区管理数据存储***
CN105245394A (zh) 一种基于分层方式分析网络访问日志的方法和设备
CN111008189B (zh) 一种动态数据模型构建方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200114

RJ01 Rejection of invention patent application after publication