CN116610739A - 一种数据处理方法、装置及系统 - Google Patents
一种数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN116610739A CN116610739A CN202310498071.8A CN202310498071A CN116610739A CN 116610739 A CN116610739 A CN 116610739A CN 202310498071 A CN202310498071 A CN 202310498071A CN 116610739 A CN116610739 A CN 116610739A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- query request
- middleware
- hudi
- 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000000007 visual effect Effects 0.000 claims abstract description 22
- 238000003860 storage Methods 0.000 claims description 20
- 238000009826 distribution Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 8
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000283690 Bos taurus Species 0.000 description 1
- 241001178520 Stomatepia mongo Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理方法、装置及系统。该方法包括:接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。通过本发明实施例提供的数据处理方法,用户可控数据源和采集工具启停,可快速、高效的进行海量数据的采集、分析、汇总和处理,提高了数据处理效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据处理方法、装置及系统。
背景技术
随着互联网技术的发展,各行业均纷纷开始引入大数据以争取更高效的业务服务大众。大数据是大量、高速、多变的信息,为用户获得更为深刻、全面的洞察能力提供了前所未有的空间与潜力。随着大数据的发展,用户需要根据自身的业务、逻辑需求对大数据进行分析和挖掘,这也要求后台对数据处理的能力要与用户需求所匹配。
现有技术中,使用Logstash采集来自于不同数据源的数据,例如mysql、oracle、Kafka…等,数据采集存储到Kafka中间件中,使用计算引擎Spark进行消费计算,最后将数据存储到分布式搜索系统ElasticSearch中,再使用ElasticSearch进行查询分析处理。
然而,现有技术中Logstash耗资较大,运行占用CPU和内存高,没有消息队列缓存,存在数据丢失隐患;采集任务的启停,需要Logstash任务的启停需要进入到容器中,删除采集文件再对Logstash服务进行重启,导致数据处理无法快速高效完成。
因此,如何提供一种改进的数据处理方案成为本领域技术人员亟待解决的重要课题。
发明内容
针对现有技术中的缺陷,本发明实施例提供了一种数据处理方法、装置及系统。
第一方面,本发明实施例提供一种数据处理方法,包括:
接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;
使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;
接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
如上述方法,可选地,所述使用可视化采集工具采集数据,将采集到的数据缓存到中间件中,包括:
使用多个Logkit采集工具采集数据,将采集到的数据以Json格式发送到Kafka中间件中进行缓存。
如上述方法,可选地,所述使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,包括:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表;
将所述原始表增量处理为Hudi格式的派生表。
如上述方法,可选地,所述使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表,包括:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据更新到增量文件中;
合并所述增量文件,创建列式文件。
如上述方法,可选地,所述存储处理后的数据,包括:
使用分布式文件存储系统存储处理后的数据。
如上述方法,可选地,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,包括:
使用Presto工具解析所述查询请求,构建查询计划,所述查询计划包括分发计划和执行计划;
通过所述分发计划确定各个执行计划对应的查询节点,并按照所述分发计划将所述执行计划下发到对应的查询节点。
第二方面,本发明实施例提供一种数据处理装置,包括:
采集模块,用于接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;
缓存模块,用于缓存采集到的数据;
处理模块,用于使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;
查询模块,用于接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
如上述数据处理装置,可选地,所述采集模块具体用于:
使用多个Logkit采集工具采集数据,将采集到的数据以Json格式发送到Kafka中间件中进行缓存。
如上述数据处理装置,可选地,所述处理模块用于使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据时,具体用于:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表;
将所述原始表增量处理为Hudi格式的派生表。
如上述数据处理装置,可选地,所述处理模块用于使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表时,具体用于:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据更新到增量文件中;
合并所述增量文件,创建列式文件。
如上述数据处理装置,可选地,所述处理模块用于存储处理后的数据时,具体用于:
使用分布式文件存储系统存储处理后的数据。
如上述数据处理装置,可选地,所述查询模块具体用于:
使用Presto工具解析所述查询请求,构建查询计划,所述查询计划包括分发计划和执行计划;
通过所述分发计划确定各个执行计划对应的查询节点,并按照所述分发计划将所述执行计划下发到对应的查询节点。
第三方面,本发明实施例提供一种数据处理系统,包括:客户端和如上述第二方面所述的数据处理装置;
所述客户端用于向所述数据处理装置发送数据采集任务和数据查询请求,并接收所述数据处理装置返回的查询结果。
第四方面,本发明实施例提供一种电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
第五方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
本发明实施例提供的数据处理方法,接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果,通过本发明实施例提供的数据处理方法,快速高效的实现日志采集工作,用户可控数据源和采集工具启停,可快速、高效的进行海量数据的分析、汇总、处理,提高了数据处理效率。
附图说明
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种数据处理装置实施例的结构框图;
图3是本发明的一种数据处理系统实施例的结构框图;
图4是本发明的一种电子设备实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤S110、接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;
具体地,当用户需要采集数据时,可通过访问微服务或APP服务将数据存储到数据库或文件中,例如,用户访问某个微服务后,在该微服务对应的日志文件中产生了日志数据,用户可采集该日志数据。本发明实施例中,使用多个可视化采集工具采集数据,采集任务的启动或停止可通过页面操作,简化了数据采集操作。
用户在可视化采集工具页面点击、选择或上传数据采集任务,可视化采集工具接收到数据采集任务之后,对数据采集任务进行解析,确定所要采集的任务所在的数据库或文件,根据数据采集任务需求,采集数据,并将采集到的数据缓存到中间件中。需要说明的是,本发明中的可视化采集工具不限制数据源,可采集不同数据源的数据。
步骤S120、使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;
具体地,采集到数据并缓存到中间件之后,使用分布式文件管理系统内置的计算引擎消费中间件中指定的消息队列中的缓存数据,其中指定的消息队列可以按照预设规则进行确定,例如缓存时间顺序,缓存文件大小,缓存文件紧急度等。计算引擎消费中间件中的消息队列中的缓存数据后,存储处理后的数据,存储可以使用操作系统的文件系统存储,也可以使用分布式的文件系统存储。通过分布式文件管理系统对缓存中的数据消费后,再一次存储,避免了数据丢失隐患。
步骤S130、接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
具体地,当用户需要查询某个数据时,发送数据查询请求,接收到数据查询请求之后,使用分布式查询引擎解析该查询请求,确定查询请求对应的查询节点,也就是存储查询请求对应的数据的存储节点,通过查询节点查询查询请求对应的数据,并向用户返回查询结果。分布式查询引擎在分析数据时可进行多个索引联查,提高了查询效率。
本发明实施例提供的数据处理方法,接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果,通过本发明实施例提供的数据处理方法,快速高效的实现日志采集工作,用户可控数据源和采集工具启停,可快速、高效的进行海量数据的分析、汇总、处理,提高了数据处理效率。
在上述实施例的基础上,进一步地,可视化采集工具可以为Logkit采集工具,中间件可以为Kafka中间件。Logkit是七牛Pandora开发的一个通用的日志收集工具,可以将不同数据源(mysq、pg、mongo、文件等)的数据方便的发送到Pandora数据分析平台进行数据分析。本发明实施例中使用多个Logkit采集工具采集不同数据源数据,Logkit部署在要采集的机器上,用户下发数据采集任务,接收到数据采集任务后,将采集到的数据以Json格式发送到Kafka中间件中进行缓存,Json(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,易于用户阅读和编写,同时也易于机器解析和生成,便于数据分析与处理。
在上述各实施例的基础上,进一步地,分布式文件管理系统可以为Apache Hudi(Hadoop Upserts anD Incrementals),Hudi是Uber在2016年开发的开源框架,用于管理分布式文件系统上的大型文件集,实现了数据湖中原子性、一致性、隔离性和持久性(ACID)事务。现有技术中ElasticSearch集群繁忙中,可能会由于网络阻塞,或者节点处理能力达到饱和,导致各数据节点不一致出现脑裂问题,而Hudi的原子性和一致性能够有效地避免脑裂问题。Hudi的commit模型基于时间轴,该时间轴包含对表执行的所有操作。Hudi提供了以下功能:通过快速,可插拔的索引支持Upsert(更新插入),具有回滚的原子发布,保存点,读写快照隔离,使用统计信息管理文件大小和布局,行和列数据的异步压缩,时间轴元数据以跟踪血统。此外Hudi的Savepoint功能在服务器宕机能优雅地恢复数据,避免数据丢失。分布式文件管理系统内置的计算引擎可以为Spark计算引擎,Spark是专为大规模数据处理而设计的快速通用的计算引擎,Spark具有通用性、易用性和高速处理等优点。
本发明实施例中,Hudi可以使用spark计算引擎来消费Kafka消息队列的数据,而这些数据可能来源于文件,数据库或者微服务的业务数据、日志数据,也可以是mysql等数据库的日志数据,Spark/Hudi首先将这些数据处理为Hudi格式的原始表(row tables),然后这张原始表可以被增量处理(Incremental ETL)生成一张Hudi格式的派生表(derivedtables),派生表为虚拟表。
具体地,Hudi提供两类型表,增量文件和列式文件,用于写时复制和读时合并,用户的更新(update)数据在更新记录时,仅更新到增量文件(Avro)中,然后进行异步、或同步的压缩(compaction),写完之后合并,最后创建列式文件(Parquet)的新版本。Hudi基于Parquet列式存储与Avro行式存储,同时避免创建小文件,实现高效率低延迟的数据访问。在HDFS数据集上提供插入更新、增量拉取、全量拉取。此存储类型由于新记录是以追加的模式写入增量文件中,适合频繁写的工作负载。Hudi在读取数据集时,需要先将增量文件与旧文件进行合并,然后生成列式文件成功后,再进行查询,这样能够避免产生很多小文件。最后使用分布式文件存储系统(Hadoop Distributed File System,HDFS)存储处理后的数据。具体地,Hadoop的HDFS中可以配置Hudi的存储方式,利用配置文件指定存储HDFS文件分布式系统上的文件与文件大小。
由于使用HDFS分布式存储文件进行数据存储,采集到的数据会进行流式计算,流式计算会不断的摄取数据,如果不进行处理会出现很多小文件,大量的小文件将会导致查询分析能力较差,这是因为查询引擎执行查询需要进行太多次的文件打开/读取/关闭,因此本发明实施例中将原始表增量处理为派生表,能够缩小数据的查找范围,提高查询效率。
本发明实施例提供的数据处理方法,使用Logkit可视化采集工具,通过页面启停采集任务,使用Hudi解决了数据质量问题,例如重复记录,数据的实时更新等,创建可用于跟踪更改的机制以时间记录数据操作文件,实现了数据在线精准分析。
在上述各实施例的基础上,进一步地,分布式查询引擎可以为Presto工具。Presto是FaceBook开源的一个大数据分布式SQL查询引擎,是用于查询分布在一个或多个不同数据源中大数据集的工具。Presto是在机器集群上运行的分布式系统,它可以分析大量数据。使用Presto,可以使用ANSI SQL在许多数据不同的数据源上访问和查询数据,进行数据分析,汇总大量数据并生成报告。Logkit采集到的数据是半结构化日志信息,需要对数据进行清洗处理成全结构化日志。清洗处理完数据后需要将数据进行存储,此时数据会根据不同的业务需求存储到不同的数据库例如Hive、Mysql、Oracle、kafka、MongoDB、Es、Postgresql等,传统数据分析方式会根据不同的数据库建立不同的连接,利用SQL查询不同的业务数据,会不断的切换数据源,而且不能关联查询。Presto可以支持这种多数据源连接,并且支持各个数据源直接的关联查询。
具体地,当接收到查询请求之后,Presto首先将查询请求解析为抽象语法树(Abstract Syntax Tree,AST),然后获取查询请求对应的元数据信息,元数据信息为数据的唯一ID,Hudi的原始表和派生表里均存储元数据信息。Presto根据元数据信息构建分发计划和执行计划。通过分发计划确定各个执行计划对应的查询节点,并按照分发计划将执行计划下发到对应的查询节点。具体地,Presto中的协调器Coordinator通过Anltr3将查询计划解析为AST,然后通过连接器Connector获取原始数据的元数据(Metadata)信息,生成分发计划和执行计划。进一步地,Hudi存储的节点为集群环境节点,每个节点都会存储数据,每个节点存的数据都包括主本和副本,副本存储的是其他节点的数据,Coordinator会随机或者根据查询计划的哈希hash值去某一个节点的主本上去查询,主本上没有去副本则查询副本,副本没有的话会根据副本是哪个节点的数据上那个节点的主本上再去查,直到查到为止。最后Coordinator向查询节点Worker发送任务,Worker通过Coordinator插件读取数据,Worker在内存里执行任务,Worker将数据返回Coordinator,Coordinator汇总之后在返回给用户。
本发明实施例提供的数据处理方法,基于Logkit+Hudi+Presto实现从采集不同数据源到解析输出的方案,基于Logkit的流量采集能力,利用Hudi对数据进行计算、存储,Presto处理在线事务处理以及实时数据分析,Hudi能够在流式计算会不断的摄取数据的同时,合并DFS的最小文件,避免了大量小文件的创建,增加了原子提交数据的能力,利用Hudi的Savepoint功能在服务器宕机能优雅的恢复数据等问题,Presto支持标准的SQL,降低了分析人员和开发人员的使用门槛,低延时高并发的内存计算引擎,执行率得到了大幅度的提升,可快速、高效的完成海量数据的采集、存储、分析。
参照图2,示出了本发明的一种数据处理装置实施例的结构示意图,具体可以包括:采集模块210、缓存模块220、处理模块230和查询模块240,其中:
采集模块210用于接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;缓存模块220用于缓存采集到的数据;处理模块230用于使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;查询模块240用于接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
如上述数据处理装置,可选地,所述采集模块210具体用于:
使用多个Logkit采集工具采集数据,将采集到的数据以Json格式发送到Kafka中间件中进行缓存。
如上述数据处理装置,可选地,所述处理模块230用于使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据时,具体用于:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表;
将所述原始表增量处理为Hudi格式的派生表。
如上述数据处理装置,可选地,所述处理模块230用于使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表时,具体用于:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据更新到增量文件中;
合并所述增量文件,创建列式文件。
如上述数据处理装置,可选地,所述处理模块230用于存储处理后的数据时,具体用于:
使用分布式文件存储系统存储处理后的数据。
如上述数据处理装置,可选地,所述查询模块240具体用于:
使用Presto工具解析所述查询请求,构建查询计划,所述查询计划包括分发计划和执行计划;
通过所述分发计划确定各个执行计划对应的查询节点,并按照所述分发计划将所述执行计划下发到对应的查询节点。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图3,示出了本发明的一种数据处理系统实施例的结构示意图,具体可以包括:数据处理装置310和客户端320,其中:
客户端310用于向所述数据处理装置310发送数据采集任务和数据查询请求,并接收所述数据处理装置310返回的查询结果。
数据处理装置310包括采集模块210、缓存模块220、处理模块230和查询模块240,进一步地,采集模块210包括多个Logkit采集工具,缓存模块220包括Kafka集群,即多个Kafka中间件,处理模块230包括多个Hudi+Spark+HDFS系统,查询模块240包括Presto服务器,基于图3所示的数据处理系统,本发明实施例提供的数据处理过程可以表示为下述过程:
步骤A、用户访问微服务或app服务将数据存储到数据库或文件中,发起数据采集任务;
步骤B、Logkit接收到采集数据采集任务后,采集数据,将采集到的数据以Json格式发送到Kafka上;
步骤C、Hudi使用Spark计算引擎来消费指定的Kafka消息队列的数据;
具体地,Hudi使用内置的Spark将这些数据处理为Hudi格式的原始表,然后这张表可以被增量处理生成一张Hudi格式的派生表;Hudi表的数据文件,为了后续分析性能和数据的可靠性,使用HDFS分布式的文件系统存储。
步骤D、客户端clients使用http协议发送一个查询query请求;
步骤E、Presto通过Discovery server发现可用的server;
步骤F、Presto利用Coordinator(协调器)构建查询计划,具体地通过Anltr3解析为AST,然后通过Connector获取原始数据的Metadata(元数据)信息,生成分发计划和执行计划;
步骤G、Coordinator向Worker发送任务,Worker通过Coordinator插件读取数据,Worker在内存里执行任务,Worker将数据返回Coordinator,汇总之后在返回给客户端clients;
步骤H、客户端clients接收查询结果。
本发明实施例提供的数据处理方案,可以快速高效的实现日志采集工作;客户端可控数据源、状态监测和工具启停,能够快速、高效地进行海量数据的分析、汇总、处理。
图4为本发明实施例提供的电子设备的结构示意图,如图4所示,所述设备包括:处理器(processor)41、存储器(memory)42和总线43;
其中,处理器41和存储器42通过所述总线43完成相互间的通信;
处理器41用于调用存储器42中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;
使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;
接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
2.根据权利要求1所述的方法,其特征在于,所述使用可视化采集工具采集数据,将采集到的数据缓存到中间件中,包括:
使用多个Logkit采集工具采集数据,将采集到的数据以Json格式发送到Kafka中间件中进行缓存。
3.根据权利要求2所述的方法,其特征在于,所述使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,包括:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表;
将所述原始表增量处理为Hudi格式的派生表。
4.根据权利要求3所述的方法,其特征在于,所述使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据处理为Hudi格式的原始表,包括:
使用Hudi内置的Spark将所述Kafka消息队列中的缓存数据更新到增量文件中;
合并所述增量文件,创建列式文件。
5.根据权利要求2所述的方法,其特征在于,所述存储处理后的数据,包括:
使用分布式文件存储系统存储处理后的数据。
6.根据权利要求3所述的方法,其特征在于,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,包括:
使用Presto工具解析所述查询请求,构建查询计划,所述查询计划包括分发计划和执行计划;
通过所述分发计划确定各个执行计划对应的查询节点,并按照所述分发计划将所述执行计划下发到对应的查询节点。
7.一种数据处理装置,其特征在于,包括:
采集模块,用于接收数据采集任务,使用可视化采集工具采集数据,将采集到的数据缓存到中间件中;
缓存模块,用于缓存采集到的数据;
处理模块,用于使用分布式文件管理系统内置的计算引擎消费所述中间件中的消息队列中的缓存数据,并存储处理后的数据;
查询模块,用于接收数据查询请求,使用分布式查询引擎解析所述查询请求,确定所述查询请求对应的查询节点,通过所述查询节点查询所述查询请求对应的数据,并返回查询结果。
8.一种数据处理系统,其特征在于,包括:客户端和如权利要求7所述的数据处理装置;
所述客户端用于向所述数据处理装置发送数据采集任务和数据查询请求,并接收所述数据处理装置返回的查询结果。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310498071.8A CN116610739A (zh) | 2023-05-05 | 2023-05-05 | 一种数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310498071.8A CN116610739A (zh) | 2023-05-05 | 2023-05-05 | 一种数据处理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116610739A true CN116610739A (zh) | 2023-08-18 |
Family
ID=87684640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310498071.8A Pending CN116610739A (zh) | 2023-05-05 | 2023-05-05 | 一种数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610739A (zh) |
-
2023
- 2023-05-05 CN CN202310498071.8A patent/CN116610739A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829360B2 (en) | Database workload capture and replay | |
JP6697392B2 (ja) | 半構造データスキーマのトランスペアレントディスカバリ | |
US10180891B2 (en) | Monitoring processes running on a platform as a service architecture | |
Kraska | Finding the needle in the big data systems haystack | |
JP6117378B2 (ja) | 分散型データベースクエリ・エンジン用のシステムおよび方法 | |
CN111177161B (zh) | 数据处理方法、装置、计算设备和存储介质 | |
JP2017157229A (ja) | 半構造データのためのスケーラブルな分析プラットフォーム | |
JPWO2011108695A1 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
CN116108057B (zh) | 一种分布式数据库访问方法、装置、设备及存储介质 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
El Alami et al. | Supply of a key value database redis in-memory by data from a relational database | |
CN114090631A (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
US9390131B1 (en) | Executing queries subject to different consistency requirements | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
CN113268483B (zh) | 请求处理方法和装置、电子设备和存储介质 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
CN116610739A (zh) | 一种数据处理方法、装置及系统 | |
CN115168389A (zh) | 请求处理方法以及装置 | |
Ma et al. | Live data replication approach from relational tables to schema-free collections using stream processing framework | |
CN117390040B (zh) | 基于实时宽表的业务请求处理方法、设备及存储介质 | |
Rao et al. | HDFS memory usage analysis | |
JPWO2018061070A1 (ja) | 計算機システム及び分析ソースデータ管理方法 | |
US11487755B2 (en) | Parallel query execution | |
Cao | Big Data Database for Business | |
CN117932135A (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 |