CN111159135A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111159135A CN111159135A CN201911340646.3A CN201911340646A CN111159135A CN 111159135 A CN111159135 A CN 111159135A CN 201911340646 A CN201911340646 A CN 201911340646A CN 111159135 A CN111159135 A CN 111159135A
- Authority
- CN
- China
- Prior art keywords
- data
- offline
- time
- real
- result data
- 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 21
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000008676 import Effects 0.000 claims description 13
- 230000004927 fusion Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013467 fragmentation Methods 0.000 claims description 5
- 238000006062 fragmentation reaction Methods 0.000 claims description 5
- 238000007405 data analysis Methods 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了数据处理方法、装置、电子设备及存储介质,该方法从分布式文件***中获取日志数据集;对日志数据集进行离线ETL处理,得到离线结果数据集;将离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,该实时结果数据为所述日志数据经实时ETL处理得到;在Druid中,将离线结果数据与实时结果数据融合。该数据处理方法使用Druid将离线数据与实时数据进行融合,不但融入了Druid的诸多优点,还可以支持不断变化的数据分析需求,例如,在对离线数据进行数据分析时,可以直观看到实时数据的数据结果,在各类算法模型训练时,还可以支持对离线数据和实时数据的共同需求。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
在信息及数据智能时代,数据仓库用于为因特网和企业内部网以及数据库提供计算资源,它可以保存极大量的数据供分析使用,且支持多种数据访问技术。
传统的数据仓库提供两条相互独立的数据处理链路,其一为离线处理链路,用于处理离线数据,其二为实时处理链路,用于处理实时数据,进而使得实时数据结果和离线数据结果分别产生于两条独立的数据处理链路。
而由于该两条数据处理链路的开发方式、处理方法和逻辑和数据来源等都不相同,因此该数据仓库架构难以支撑持续变化的数据分析需求。
例如,在一种典型的数据分析场景中,从数据仓库分别查询得到实时报表数据和离线报表数据,并使用离线报表数据核对实时报表数据的正确性,即“对数”。由于该离线报表数据和实时报表数据分别产生于不同的数据处理链路,因此使得“对数”过程的执行极其困难。
发明内容
本申请提供一种数据处理方法、装置、电子设备及存储介质,以支撑持续变化的数据分析需求。
第一方面,本申请提供一种数据处理方法,所述方法包括:
从分布式文件***中获取日志数据集,所述日志数据集包括至少一个日志数据;
对所述日志数据集进行离线ETL处理,得到离线结果数据集,所述离线结果数据集包括至少一个离线结果数据,每个所述离线结果数据对应一个所述日志数据;
将所述离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,所述实时结果数据为所述日志数据经实时ETL处理得到;
在所述Druid中,将所述离线结果数据与所述实时结果数据融合。
进一步,所述将离线结果数集据导入到Druid中,包括:
按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,所述预设时间序列包括至少一个或多个时间段,每个所述离线数据段对应一个时间段;
为每个所述离线数据段创建索引;
将具有所述索引的离线数据段存储到所述Druid中。
进一步,所述按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,包括:
获取每个所述离线结果数据对应的日志数据的时间戳;
根据所述时间戳确定每个所述离线结果数据对应的时间段;
将对应同一时间段的离线结果数据组成一个离线数据段,组成的所述离线数据段与所述时间段对应。
进一步,所述对日志数据集进行离线ETL处理,得到离线结果数据集,包括:
将所述至少一个日志数据按照所述日志数据的时间戳顺序传入到离线ETL处理框架中,所述离线ETL处理框架为基于Hive-Sql的数据处理框架;
通过所述离线ETL处理框架对所述日志数据进行离线ETL处理,得到分别与每个所述日志数据对应的离线结果数据。
进一步,所述方法还包括:
当产生日志数据时,通过Kafka将产生的日志数据传入到实时ETL处理框架中,所述实时ETL处理框架为基于Spark Streaming的数据处理框架;
通过所述实时ETL处理框架对所述日志数据进行实时ETL处理,得到实时结果数据;
通过Kafka将所述实时结果数据传入到所述Druid中。
进一步,所述通过Kafka将所述实时结果数据传入到所述Druid中,包括:
获取所述实时结果数据对应的日志数据的时间戳;
根据所述时间戳确定所述实时结果数据对应的时间段;
根据所述实时结果数据对应的时间段,将所述实时结果数据存储到所述Druid中指定的实时数据段中。
进一步,所述将离线结果数据与所述实时结果数据融合,包括:
将与同一时间段对应的离线数据段和实时数据段相融合。
第二方面,本申请还提供一种数据处理装置,所述装置包括:
获取模块,用于从分布式文件***中获取日志数据集,所述日志数据集包括至少一个日志数据;
离线ETL处理模块,用于对所述日志数据集进行离线ETL处理,得到离线结果数据集,所述离线结果数据集包括至少一个离线结果数据,每个所述离线结果数据对应一个所述日志数据;
离线数据导入模块,用于将所述离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,所述实时结果数据为所述日志数据经实时ETL处理得到;
融合模块,用于在所述Druid中,将所述离线结果数据与所述实时结果数据融合。
进一步,所述离线数据导入模块,包括:
数据分片单元,用于按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,所述预设时间序列包括至少一个或多个时间段,每个所述离线数据段对应一个时间段;
索引创建单元,用于为每个所述离线数据段创建索引;
数据导入单元,用于将具有所述索引的离线数据段存储到所述Druid中。
进一步,所述数据分片单元具体用于:
获取每个所述离线结果数据对应的日志数据的时间戳;
根据所述时间戳确定每个所述离线结果数据对应的时间段;
将对应同一时间段的离线结果数据组成一个离线数据段,组成的所述离线数据段与所述时间段对应。
进一步,所述离线ETL处理模块,包括:
离线数据传入单元,用于将所述至少一个日志数据按照所述日志数据的时间戳顺序传入到离线ETL处理框架中,所述离线ETL处理框架为基于Hive-Sql的数据处理框架;
离线ETL处理单元,用于通过所述离线ETL处理框架对所述日志数据进行离线ETL处理,得到分别与每个所述日志数据对应的离线结果数据。
进一步,所述装置还包括:
第一Kafka模块,用于当产生日志数据时,通过Kafka将产生的日志数据传入到实时ETL处理框架中,所述实时ETL处理框架为基于Spark Streaming的数据处理框架;
实时ETL处理模块,用于通过所述实时ETL处理框架对所述日志数据进行实时ETL处理,得到实时结果数据;
第二Kafka模块,用于通过Kafka将所述实时结果数据传入到所述Druid中。
进一步,所述第二Kafka模块具体用于:
获取所述实时结果数据对应的日志数据的时间戳;
根据所述时间戳确定所述实时结果数据对应的时间段;
根据所述实时结果数据对应的时间段,将所述实时结果数据存储到所述Druid中指定的实时数据段中。
进一步,所述融合模块具体用于将与同一时间段对应的离线数据段和实时数据段相融合。
第三方面,本申请还提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面任一项所述的方法。
第四方面,本申请还提供一种存储介质,所述存储介质中存储有计算机程序,当第二方面任一项所述装置的至少一个处理器执行所述计算机程序时,所述装置执行第一方面任一项所述的方法。
由以上技术方案可知,本申请实施例提供一种数据处理方法,该方法从分布式文件***中获取日志数据集;对日志数据集进行离线ETL处理,得到离线结果数据集;将离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,该实时结果数据为所述日志数据经实时ETL处理得到;在Druid中,将离线结果数据与实时结果数据融合。该数据处理方法使用Druid将离线数据与实时数据进行融合,不但融入了Druid的诸多优点,还可以支持不断变化的数据分析需求,例如,在对离线数据进行数据分析时,可以直观看到实时数据的数据结果,在各类算法模型训练时,还可以支持对离线数据和实时数据的共同需求。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请根据一示例性实施例示出的数据仓库架构示意图;
图2为本申请根据一示例性实施例示出的数据处理方法流程图;
图3为本申请根据一示例性实施例示出的另一种数据处理方法流程图;
图4为本申请根据一示例性实施例示出的数据处理装置框图;
图5为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了应对持续变化的数据分析需求,本申请实施例提供一种数据处理方法,该方法应用于基于Lambda架构的数据仓库架构,该数据处理方法及相应的数据仓库架构除了具有Lambda的高容错、低延迟、可扩展的优点以外,还可以实现离线数据与实时数据的融合,进而可以支撑持续变化的数据分析需求。例如,在对离线数据进行数据分析时,可以直观看到实时数据的数据结果,在各类算法模型训练时,还可以支持对离线数据和实时数据的共同需求。
图1为本申请根据一示例性实施例示出的数据仓库架构示意图,如图1所示,该数据仓库架构包括:Flume数据采集模块10、HDFS模块20、Hive-Sql离线ETL模块30、Hadoopindex模块40、第一Kafka模块50、Spark Streaming实时ETL模块60、第二Kafka模块70和Druid模块80。
Flume数据采集模块10,用于采集日志数据。数据采集方式包括实时采集和离线采集,实时采集到的日志数据(实时数据)通过第一Kafka(一种高吞吐量的分布式发布订阅消息***)模块50实时传输给Hive-Sql实时ETL模块60进行实时ETL(Extract-Transform-Load,抽取-转换-加载)处理,离线采集到的日志数据(离线数据)存储至HDFS模块(分布式文件***)20中。
具体实现时,Flume数据采集模块10可以是日志收集***Flume,它是一种高可用的,高可靠的,分布式的海量日志采集、聚合和传输的***,支持在***中定制各类数据发送方,用于收集数据,同时,Flume提供对数据进行简单处理,并具有将数据写入到接受方的能力。使用Flume,可以高效率的将多个网站服务器中收集的日志信息存入HDFS(HadoopDistributed File System,Hadoop分布式文件***)中,可以将从多个服务器中获取的数据迅速的移交给Hadoop中。
HDFS模块20,用于接收Flume数据采集模块10的数据导入,对导入的日志数据进行离线存储。HDFS为适合运行在通用硬件上的分布式文件***,具有高度容错性,由于适合部署在廉价的机器上,因此能提供高吞吐量的数据访问,非常适合应用于大规模数据集。
Hive-Sql离线ETL模块30,用于对离线的日志数据进行离线ETL处理。
具体实现时,Hive-Sql离线ETL模块30为基于Hive-Sql的数据处理框架。其中,Hive是基于Hadoop构建的一套数据仓库分析***,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件***中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL去查询分析需要的内容,这套SQL简称Hive SQL,使不熟悉mapreduce的用户很方便的利用SQL语言查询、汇总、分析数据。
Hadoop index模块40,用于将离线ETL模块30输出的离线结果数据采用Hadoopindex的方式导入到Druid模块80中。具体的,Hadoop index模块40用于按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,所述时间序列包括至少一个或多个时间段,每个所述离线数据段对应一个时间段;为每个所述离线数据段创建索引;将具有所述索引的离线数据段存储到Druid中。
第一Kafka模块50,用于将Flume数据采集模块10采集的日志数据实时传输给Spark Streaming实时ETL模块。
Spark Streaming实时ETL模块60,用于对接收到的日志数据进行实时ETL处理;具体实现时,Spark Streaming实时ETL模块60为基于Spark Streaming的数据处理框架。
第二Kafka模块70,用于将实时ETL模块60输出的实时数据结果导入到Druid模块80中。
Druid模块80,用于对导入的离线数据结果和实时数据结果进行融合。
具体实现时,Druid模块80为用于实时处理时序数据的Olap数据分析***,它对数据的索引的创建首先需要按照时间对数据进行分片,进而查询时也是按照时间进行路由索引。Druid接收离线数据结果和实时数据结果的导入,并实现对离线数据结果和实时数据结果的融合。除此之外,Druid还具有如下优点:具有亚秒级响应速度、可以支撑高并发性的面向用户的应用、支持高并发的实时导入、其所有组件都具有高可用性、采用分布式shared-nothing的架构,具有可扩展到PB级的高可扩展性、节省资源、支持聚合函数。与如kylin的其他的olap工具相比,Druid可扩展维度多。同时,Druid比较适合数据仓库的星型模型,同时还支持离线和实时数据的导入。
由以上数据仓库架构可知,该数据仓库架构在Lambda架构的基础上,引入Druid,不仅保留了Lambda的高容错、低延迟、可扩展的优点,还融入了Druid的诸多优点,并使用Druid将离线数据与实时数据进行融合,使该数据仓库架构可以支持不断变化的数据分析需求,例如,在对离线数据进行数据分析时,可以直观看到实时数据的数据结果,在各类算法模型训练时,还可以支持对离线数据和实时数据的共同需求。
基于上述数据仓库架构,本申请实施例提供一种数据处理方法,图2为本申请根据一示例性实施例示出的数据处理方法流程图,如图2所示,该方法可以包括:
步骤100,从分布式文件***中获取日志数据集,所述日志数据集包括至少一个日志数据。
由图1可知,分布式文件***用于存储离线数据,因此从分布式文件***中获取的日志数据集为离线数据集。
步骤200,对所述日志数据集进行离线ETL处理,得到离线结果数据集,所述离线结果数据集包括至少一个离线结果数据,每个所述离线结果数据对应一个所述日志数据。
具体实现时,利用离线ETL处理框架对日志数据集进行离线ETL处理,输出由至少一个离线结果数据构成的离线结果数据集。该ETL处理框架可以是基于Hive-Sql的数据处理框架。
例如,将日志数据集中的至少一个日志数据按照所述日志数据的时间戳顺序传入到离线ETL处理框架中;通过所述离线ETL处理框架对所述日志数据进行离线ETL处理,得到分别与每个所述日志数据对应的离线结果数据。
步骤300,将所述离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,所述实时结果数据为所述日志数据经实时ETL处理得到。
根据Druid特性,在离线结果数据集导入到Druid的过程中,为离线结果数据集创建索引,具体可以包括图3所示:
步骤310,按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,所述时间序列包括至少一个或多个时间段,每个所述离线数据段对应一个时间段。
例如,首先获取每个离线结果数据对应的日志数据的时间戳;然后根据时间戳确定每个离线结果数据对应的时间段;最后将对应同一时间段的离线结果数据组成一个离线数据段,组成的离线数据段与时间段对应。
步骤320,为每个离线数据段创建索引;具体可以根据每个离线数据段对应的时间段创建索引位图,该索引位图包括了每个离线数据段对应的索引。
步骤330,将具有索引的离线数据段存储到Druid中。
需要说明的是,Druid包括包括预先导入的至少一个实时结果数据,该实时结果数据为日志数据经实时ETL处理得到。
具体的,当产生日志数据时,Flume数据采集模块10对日志数据进行实时采集,并通过Kafka将采集的实时日志数据传入到实时ETL处理框架中;通过实时ETL处理框架对所述日志数据进行实时ETL处理,得到实时结果数据;最后再通过Kafka将所述实时结果数据传入到Druid中。其中,该实时ETL处理框架可以为基于Spark Streaming的数据处理框架。
由于在Druid中,经ETL处理的数据以数据段的形式进行存储,且每隔数据段对应一个时间段,基于此,通过Kafka将所述实时结果数据传入到所述Druid中,可以包括:获取实时结果数据对应的日志数据的时间戳;根据时间戳确定该实时结果数据对应的时间段;根据该实时结果数据对应的时间段,将该实时结果数据存储到Druid中指定的实时数据段中。其中,为了便于与存储离线数据结果的数据段进行区别,本实施例中用于存储实时数据结果的数据段统称为实时数据段。
步骤400,在所述Druid中,将所述离线结果数据与所述实时结果数据融合。
具体的,在所述Druid中,将与同一时间段对应的离线数据段和实时数据段相融合。其中,数据融合处理包括但不限于使用离线数据段对实时数据段进行覆盖。
由以上实施例可知,本申请实施例提供一种数据处理方法,该方法从分布式文件***中获取日志数据集;对日志数据集进行离线ETL处理,得到离线结果数据集;将离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,该实时结果数据为所述日志数据经实时ETL处理得到;在Druid中,将离线结果数据与实时结果数据融合。该数据处理方法使用Druid将离线数据与实时数据进行融合,不但融入了Druid的诸多优点,还可以支持不断变化的数据分析需求,例如,在对离线数据进行数据分析时,可以直观看到实时数据的数据结果,在各类算法模型训练时,还可以支持对离线数据和实时数据的共同需求。
根据上述实施例提供的数据处理方法,本申请实施例还提供一种数据处理装置,如图4所示,该装置可以包括:
获取模块410,用于从分布式文件***中获取日志数据集,所述日志数据集包括至少一个日志数据;
离线ETL处理模块420,用于对所述日志数据集进行离线ETL处理,得到离线结果数据集,所述离线结果数据集包括至少一个离线结果数据,每个所述离线结果数据对应一个所述日志数据;
离线数据导入模块430,用于将所述离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,所述实时结果数据为所述日志数据经实时ETL处理得到;
融合模块440,用于在所述Druid中,将所述离线结果数据与所述实时结果数据融合。
在一些实施例中,所述离线数据导入模块,包括:
数据分片单元,用于按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,所述预设时间序列包括至少一个或多个时间段,每个所述离线数据段对应一个时间段;
索引创建单元,用于为每个所述离线数据段创建索引;
数据导入单元,用于将具有所述索引的离线数据段存储到所述Druid中。
在一些实施例中,所述数据分片单元具体用于:
获取每个所述离线结果数据对应的日志数据的时间戳;
根据所述时间戳确定每个所述离线结果数据对应的时间段;
将对应同一时间段的离线结果数据组成一个离线数据段,组成的所述离线数据段与所述时间段对应。
在一些实施例中,所述离线ETL处理模块,包括:
离线数据传入单元,用于将所述至少一个日志数据按照所述日志数据的时间戳顺序传入到离线ETL处理框架中,所述离线ETL处理框架为基于Hive-Sql的数据处理框架;
离线ETL处理单元,用于通过所述离线ETL处理框架对所述日志数据进行离线ETL处理,得到分别与每个所述日志数据对应的离线结果数据。
在一些实施例中,所述装置还包括:
第一Kafka模块,用于当产生日志数据时,通过Kafka将产生的日志数据传入到实时ETL处理框架中,所述实时ETL处理框架为基于Spark Streaming的数据处理框架;
实时ETL处理模块,用于通过所述实时ETL处理框架对所述日志数据进行实时ETL处理,得到实时结果数据;
第二Kafka模块,用于通过Kafka将所述实时结果数据传入到所述Druid中。
在一些实施例中,所述第二Kafka模块具体用于:
获取所述实时结果数据对应的日志数据的时间戳;
根据所述时间戳确定所述实时结果数据对应的时间段;
根据所述实时结果数据对应的时间段,将所述实时结果数据存储到所述Druid中指定的实时数据段中。
在一些实施例中,所述融合模块具体用于将与同一时间段对应的离线数据段和实时数据段相融合。
图5为本申请实施例提供的电子设备的硬件结构示意图。如图5所示,该电子设备,可以包括:存储器501,用于存储程序指令;处理器502,用于调用并执行所述存储器中的程序指令,以实现上述数据处理方法。
本实施例中,处理器和存储器可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有计算程序,当数据处理装置的至少一个处理器执行所述计算机程序时,数据处理装置执行本申请数据处理方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:randomaccess memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (16)
1.一种数据处理方法,其特征在于,所述方法包括:
从分布式文件***中获取日志数据集,所述日志数据集包括至少一个日志数据;
对所述日志数据集进行离线ETL处理,得到离线结果数据集,所述离线结果数据集包括至少一个离线结果数据,每个所述离线结果数据对应一个所述日志数据;
将所述离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,所述实时结果数据为所述日志数据经实时ETL处理得到;
在所述Druid中,将所述离线结果数据与所述实时结果数据融合。
2.根据权利要求1所述的方法,其特征在于,所述将离线结果数集据导入到Druid中,包括:
按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,所述预设时间序列包括至少一个或多个时间段,每个所述离线数据段对应一个时间段;
为每个所述离线数据段创建索引;
将具有所述索引的离线数据段存储到所述Druid中。
3.根据权利要求2所述的方法,其特征在于,所述按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,包括:
获取每个所述离线结果数据对应的日志数据的时间戳;
根据所述时间戳确定每个所述离线结果数据对应的时间段;
将对应同一时间段的离线结果数据组成一个离线数据段,组成的所述离线数据段与所述时间段对应。
4.根据权利要求1所述的方法,其特征在于,所述对日志数据集进行离线ETL处理,得到离线结果数据集,包括:
将所述至少一个日志数据按照所述日志数据的时间戳顺序传入到离线ETL处理框架中,所述离线ETL处理框架为基于Hive-Sql的数据处理框架;
通过所述离线ETL处理框架对所述日志数据进行离线ETL处理,得到分别与每个所述日志数据对应的离线结果数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当产生日志数据时,通过Kafka将产生的日志数据传入到实时ETL处理框架中,所述实时ETL处理框架为基于Spark Streaming的数据处理框架;
通过所述实时ETL处理框架对所述日志数据进行实时ETL处理,得到实时结果数据;
通过Kafka将所述实时结果数据传入到所述Druid中。
6.根据权利要求5所述的方法,其特征在于,所述通过Kafka将所述实时结果数据传入到所述Druid中,包括:
获取所述实时结果数据对应的日志数据的时间戳;
根据所述时间戳确定所述实时结果数据对应的时间段;
根据所述实时结果数据对应的时间段,将所述实时结果数据存储到所述Druid中指定的实时数据段中。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述将离线结果数据与所述实时结果数据融合,包括:
将与同一时间段对应的离线数据段和实时数据段相融合。
8.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于从分布式文件***中获取日志数据集,所述日志数据集包括至少一个日志数据;
离线ETL处理模块,用于对所述日志数据集进行离线ETL处理,得到离线结果数据集,所述离线结果数据集包括至少一个离线结果数据,每个所述离线结果数据对应一个所述日志数据;
离线数据导入模块,用于将所述离线结果数据集导入到Druid中,所述Druid包括预先导入的至少一个实时结果数据,所述实时结果数据为所述日志数据经实时ETL处理得到;
融合模块,用于在所述Druid中,将所述离线结果数据与所述实时结果数据融合。
9.根据权利要求8所述的装置,其特征在于,所述离线数据导入模块,包括:
数据分片单元,用于按照预设时间序列对所述离线结果数据集进行分片,得到一个或多个离线数据段,所述预设时间序列包括至少一个或多个时间段,每个所述离线数据段对应一个时间段;
索引创建单元,用于为每个所述离线数据段创建索引;
数据导入单元,用于将具有所述索引的离线数据段存储到所述Druid中。
10.根据权利要求9所述的装置,其特征在于,所述数据分片单元具体用于:
获取每个所述离线结果数据对应的日志数据的时间戳;
根据所述时间戳确定每个所述离线结果数据对应的时间段;
将对应同一时间段的离线结果数据组成一个离线数据段,组成的所述离线数据段与所述时间段对应。
11.根据权利要求8所述的装置,其特征在于,所述离线ETL处理模块,包括:
离线数据传入单元,用于将所述至少一个日志数据按照所述日志数据的时间戳顺序传入到离线ETL处理框架中,所述离线ETL处理框架为基于Hive-Sql的数据处理框架;
离线ETL处理单元,用于通过所述离线ETL处理框架对所述日志数据进行离线ETL处理,得到分别与每个所述日志数据对应的离线结果数据。
12.根据权利要求8所述的方法,其特征在于,所述装置还包括:
第一Kafka模块,用于当产生日志数据时,通过Kafka将产生的日志数据传入到实时ETL处理框架中,所述实时ETL处理框架为基于Spark Streaming的数据处理框架;
实时ETL处理模块,用于通过所述实时ETL处理框架对所述日志数据进行实时ETL处理,得到实时结果数据;
第二Kafka模块,用于通过Kafka将所述实时结果数据传入到所述Druid中。
13.根据权利要求12所述的装置,其特征在于,所述第二Kafka模块具体用于:
获取所述实时结果数据对应的日志数据的时间戳;
根据所述时间戳确定所述实时结果数据对应的时间段;
根据所述实时结果数据对应的时间段,将所述实时结果数据存储到所述Druid中指定的实时数据段中。
14.根据权利要求8-13任一项所述的装置,其特征在于,所述融合模块具体用于将与同一时间段对应的离线数据段和实时数据段相融合。
15.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1-7任一项所述的方法。
16.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当权利要求8-14任一项所述装置的至少一个处理器执行所述计算机程序时,所述装置执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911340646.3A CN111159135A (zh) | 2019-12-23 | 2019-12-23 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911340646.3A CN111159135A (zh) | 2019-12-23 | 2019-12-23 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111159135A true CN111159135A (zh) | 2020-05-15 |
Family
ID=70558129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911340646.3A Pending CN111159135A (zh) | 2019-12-23 | 2019-12-23 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159135A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522890A (zh) * | 2020-06-11 | 2020-08-11 | 中国建设银行股份有限公司 | 一种金融数据处理方法、装置、***和存储介质 |
CN111949637A (zh) * | 2020-08-18 | 2020-11-17 | 上海七牛信息技术有限公司 | 日志数据处理方法、装置、***、电子设备及存储介质 |
CN114168624A (zh) * | 2021-12-08 | 2022-03-11 | 掌阅科技股份有限公司 | 数据分析方法、计算设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038162A (zh) * | 2016-02-03 | 2017-08-11 | 滴滴(中国)科技有限公司 | 基于数据库日志的实时数据查询方法和*** |
CN107832913A (zh) * | 2017-10-11 | 2018-03-23 | 微梦创科网络科技(中国)有限公司 | 基于深度学习的对监控数据趋势的预测方法及*** |
CN109271432A (zh) * | 2018-08-21 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 报表数据的处理方法、装置、计算机设备和存储介质 |
US20190188314A1 (en) * | 2017-12-20 | 2019-06-20 | Roku, Inc | Mass insertion into single-threaded databases |
CN110147398A (zh) * | 2019-04-25 | 2019-08-20 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、介质和电子设备 |
CN110413701A (zh) * | 2019-08-08 | 2019-11-05 | 江苏满运软件科技有限公司 | 分布式数据库入库方法、***、设备及存储介质 |
-
2019
- 2019-12-23 CN CN201911340646.3A patent/CN111159135A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038162A (zh) * | 2016-02-03 | 2017-08-11 | 滴滴(中国)科技有限公司 | 基于数据库日志的实时数据查询方法和*** |
CN107832913A (zh) * | 2017-10-11 | 2018-03-23 | 微梦创科网络科技(中国)有限公司 | 基于深度学习的对监控数据趋势的预测方法及*** |
US20190188314A1 (en) * | 2017-12-20 | 2019-06-20 | Roku, Inc | Mass insertion into single-threaded databases |
CN109271432A (zh) * | 2018-08-21 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 报表数据的处理方法、装置、计算机设备和存储介质 |
CN110147398A (zh) * | 2019-04-25 | 2019-08-20 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、介质和电子设备 |
CN110413701A (zh) * | 2019-08-08 | 2019-11-05 | 江苏满运软件科技有限公司 | 分布式数据库入库方法、***、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
余宣杰、姜欣荣: "《银行大数据应用》", 31 August 2019, 机械工业出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522890A (zh) * | 2020-06-11 | 2020-08-11 | 中国建设银行股份有限公司 | 一种金融数据处理方法、装置、***和存储介质 |
CN111522890B (zh) * | 2020-06-11 | 2024-02-13 | 中国建设银行股份有限公司 | 一种金融数据处理方法、装置、***和存储介质 |
CN111949637A (zh) * | 2020-08-18 | 2020-11-17 | 上海七牛信息技术有限公司 | 日志数据处理方法、装置、***、电子设备及存储介质 |
CN114168624A (zh) * | 2021-12-08 | 2022-03-11 | 掌阅科技股份有限公司 | 数据分析方法、计算设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930547B (zh) | 一种故障定位方法、装置及存储介质 | |
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
US10666527B2 (en) | Generating specifications for microservices implementations of an application | |
CN110427368B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107451149B (zh) | 流量数据查询任务的监控方法及其装置 | |
CN113360554B (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
CN111209352B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN111159135A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110362544A (zh) | 日志处理***、日志处理方法、终端及存储介质 | |
CN104699704B (zh) | 内容推送及接收方法、装置和*** | |
CN104778208A (zh) | 一种搜索引擎 seo 网站数据的优化抓取方法及*** | |
CN107016039B (zh) | 数据库写入的方法和数据库*** | |
US20130185429A1 (en) | Processing Store Visiting Data | |
CN105515836A (zh) | 日志处理方法、装置及服务器 | |
CN101902505A (zh) | 一种分布式dns查询日志的实时统计装置及方法 | |
US20190034500A1 (en) | Creating dashboards for viewing data in a data storage system based on natural language requests | |
US10901811B2 (en) | Creating alerts associated with a data storage system based on natural language requests | |
CN111125199B (zh) | 一种数据库访问方法、装置及电子设备 | |
CN111694793A (zh) | 一种日志存储方法、装置及日志查询方法、装置 | |
CN106557483B (zh) | 一种数据处理、数据查询方法及设备 | |
KR20170088950A (ko) | 검색 엔진으로 웹 사이트 인증 데이터를 제공하기 위한 방법 및 장치 | |
CN113268530A (zh) | 海量异构数据采集方法、***、计算机设备和存储介质 | |
CN106101710A (zh) | 一种分布式视频转码方法及装置 | |
CN107644103B (zh) | 一种可追溯信息来源的信息存储的方法和*** | |
CN111078975B (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 |