CN111352930A - 一种模板数据处理方法、装置、服务器和存储介质 - Google Patents
一种模板数据处理方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN111352930A CN111352930A CN202010315982.9A CN202010315982A CN111352930A CN 111352930 A CN111352930 A CN 111352930A CN 202010315982 A CN202010315982 A CN 202010315982A CN 111352930 A CN111352930 A CN 111352930A
- Authority
- CN
- China
- Prior art keywords
- data
- template
- processing
- etl
- preset
- 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 claims abstract description 25
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 38
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 238000004140 cleaning Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
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)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种模板数据处理方法,包括:从数据流获取第一数据;基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据;将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。本发明还公开了一种模板数据处理方法、装置、服务器和存储介质。本发明通过把处理完成的数据根据时效性区分,分别存入不同的集群,使数据的实时处理和批量处理能够兼容。
Description
技术领域
本发明实施例涉及大数据处理技术,尤其涉及一种模板数据处理方法、装置、服务器和存储介质。
背景技术
大数据已经覆盖了生活的各个方面,智慧交通调度、智能医疗预测、金融股票分析、电商购物推荐等,无一例外都需要使用大数据技术。其中,数据清洗是整个大数据链路中至关重要的一环,也是数据分析的基础。ETL数据包括:Extract(抽取)、Transfor(转换)、Load(落地)。
数据清洗过程,需要从海量数据中抽取出业务需要的数据,从而支持实时、离线计算。而且当接收到的数据变得更复杂时,程序能够动态拓展解析方式,而无需改动代码重启程序。并且在实际场景中,必然存在各种复杂的业务处理,这些处理必须在数据清洗时一并完成。
现有技术的方案导致实时处理和批量处理无法兼容,降低了数据处理效率。
发明内容
本发明提供一种模板数据处理方法、装置、服务器和存储介质,通过提高数据处理效率本发明通过把处理完成的数据根据时效性区分,分别存入不同的集群,实现了实时处理和批量处理的兼容。
本发明实施例提供了一种模板数据处理方法,包括:
从数据流获取第一数据;
基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据;
将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
进一步地,所述基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据,包括:
使用预设的第一ETL模板对所述第一数据进行无效数据清洗;
使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据。
进一步地,所述第一ETL模板包括第一预设关键字和对应的第一处理程序,所述使用预设的第一ETL模板对所述第一数据进行无效数据清洗,包括:
判断所述第一数据中是否有预设的第一关键字;
若是,则使用所述第一处理程序所述第一数据进行无效数据清洗。
进一步地,所述第二ETL模板包括第二预设关键字和对应的第二处理程序,则所述使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据,包括:
判断清洗后的所述第一数据是否有预设的第二关键字;
若是,则使用所述第二处理程序自定义处理清洗后的所述第一数据,以生成第二数据。
进一步地,所述在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据,所述处理采用多线程异步处理。
进一步地,所述从数据流获取第一数据之后,还包括:
将所述第一数据存入Kafka集群。
第二方面,本发明实施例还提供了一种模板数据处理装置,包括:
获取模块,用于从数据流获取第一数据;
数据处理模块,用于基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据;
存储模块,用于将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
第三方面,本发明实施例还提供了一种服务器,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的模板数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现如上述任意一项所述的模板数据处理方法。
本发明通过把处理完成的数据根据时效性区分,分别存入不同的集群,使数据的实时处理和批量处理能够兼容,同时通过使用Flink平台执行处理,实现了处理过程的稳定和高效。
附图说明
图1是本发明实施例一中的一种模板数据处理方法流程图。
图2是本发明实施例二中的一种模板数据处理方法流程图。
图3是本发明实施例三中的模板数据处理装置模块图。
图4是本发明实施例三替代实施例中的模板数据处理装置模块图。
图5是本发明实施例四的一种服务器模块图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一ETL模块称为第二ETL模块,且类似地,可将第二ETL模块称为第一ETL模块。第一ETL模块和第二ETL模块两者都是ETL模块,但其不是同一模块。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本实施例及下述实施例提及的英文缩写及专有名词如下:
ETL:指数据的Extract(抽取)、Transfor(转换)、Load(落地)的处理流程。
YARN:YARN是Hadoop2.0版本新引入的资源管理系统,直接从MR1演化而来。核心思想:将MP1中Job Tracker的资源管理和作业调度两个功能分开,分别由Resource Manager和Application Master进程来实现。1)Resource Manager:负责整个集群的资源管理和调度。2)Application Master:负责应用程序相关的事务,比如任务调度、任务监控和容错等。YARN的出现,使得多个计算框架可以运行在一个集群当中。1)每个应用程序对应一个Application Master。2)目前可以支持多种计算框架运行在YARN上面比如Map Reduce、Storm、Spark、Flink等。
Flink:Flink是一个针对流数据和批数据的分布式处理引擎,所要处理的主要场景就是流数据,在实际操作中,Flink可以支持本地的快速迭代,以及一些环形的迭代任务,把所有任务当成流来处理,这也是其最大的特点。具体有三个用途:持续的在应用程序和系统间移动数据;聚合并处理时间;在本地维持应用程序的状态。Flink是个分布式流处理开源框架,即使源数据是无序的或者晚到达的数据,也能保持结果准确性,有状态并且容错,并可以保持exactly-once,即每条数据严格只处理一次,可以无缝的从失败中恢复,同时可以适应分布式系统。Flink是一个开源的分布式流计算和批处理平台,基于统一的流式执行模型,将批处理当作特殊的流计算,从而将流计算和批处理统一起来,避免了离线计算和实时计算同一套逻辑实现两次的负担,具有高吞吐、低延迟、高性能的特点。
HDFS:Hadoop分布式文件系统,是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。支持海量数据如TB和PB级别的存储。在HDFS集群环境中某一个数据节点出现故障,能够通过备份从其他节点对所述数据进行恢复。HDFS的数据处理规模比较大,应用一次需要大量的数据,同时这些应用一般都是批量处理,而不是用户交互式处理。同时,文件存储在HDFS上后,适合一次写入,多次读取的场景。数据自动保存多个副本,副本丢失后自动恢复。可构建在廉价的机器上,实现线性扩展。当集群增加新节点之后,namenode也可以感知,将数据分发和备份到相应的节点上。
实施例一
图1为本发明实施例一提供的一种模板数据处理方法流程图,本实施例可适用于在大数据流中获取数据的情况,该方法可以由大数据中的服务器执行,具体包括如下步骤:
S101、从数据流获取第一数据。
在该步骤中,事件流通过客户端SDK上报,服务器接收到事件数据后存入Kafka集群,该步骤所指的第一数据即是未经过任何处理的原始数据。可选地,该步骤之后还包括:将第一数据存入Kafka集群。
S102、基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据。
该步骤中,使用Flink框架编写多个Flink任务,由于Flink可以构建实时的数据通道,在不同的存储之间搬运和转换数据。而且Flink实现了Exactly-once机制,因此使用Flink任务能够保证每一条数据至少且只被处理一次。
该步骤中的每个Flink任务包含了对上述第一数据的ETL过程和Biz Process(业务处理)操作。
优选地,上述多个Flink任务在执行过程使用Yarn平台,Yarn是一个作业调度和集群资源管理的框架,它能够保证Flink任务更安全稳定高效地运行。所述第一数据经过清洗和业务处理后生成第二数据。第一数据的清洗过程和业务处理过程具有先后次序,业务处理之间可以是串行或并行处理。在优选实施例中,业务处理之间并行处理。
S103、将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
该步骤中,可选地,第一集群为Kafka集群,第二集群为HDFS集群。第二数据中时效性高的数据需要进行实时计算,写入Kafka集群;第二数据中可以进行离线计算的写入HDFS集群,写入的数据以数据块的形式存储,示例性地,每个数据块64MB~128MB。在替代实施例中,写入HDFS集群中的数据在执行离线运算时,能够通过并行方式读取和处理数据的不同部分,避免了计算过程数据流的堵塞。
由于将数据写入Kafka集群和HDFS集群,实时ETL后的数据可以同时用于实时计算和离线计算,解决了实时ETL和批量ETL不能兼容的问题。
本实施例通过把处理完成的数据根据时效性区分,分别存入不同的集群,使数据的实时处理和批量处理能够兼容。同时通过使用Flink平台执行处理,实现了处理过程的稳定和高效。
实施例二
如图2所示,本实施例提供了一种模板数据处理方法,在上述实施例的基础上对所述在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据进行了具体的描述,通过在每个Flink任务中增加可增删的自定义处理模板,实现数据处理程序规则的可扩展效果,具体包括如下步骤:
S201、从数据流获取第一数据。
S2021、使用预设的第一ETL模板对所述第一数据进行无效数据清洗。
第一ETL模板和下述第二ETL模板指的是ETL处理过程中的执行程序,所述执行程序采用动态模板的方式,用以对程序进行自定义扩展。其中,第一ETL模板为通用模板(Common Template),用于对获取的第一数据进行通用的清洗步骤,以去除第一数据中的无效数据。第二ETL模板为自定义模板(Custom Template),用于根据业务需求对通用处理后的第一数据进行自定义处理。
在该步骤中,第一ETL模板为第一ETL处理过程中的执行程序模板,模板程序中具有预设的关键字。其中,所述第一ETL模板包括第一预设关键字和对应的第一处理程序,则该步骤具体包括:判断所述第一数据中是否有预设的第一关键字。若是,则使用所述第一处理程序所述第一数据进行无效数据清洗。
其中,第一ETL模板包括第一数据格式模板(schema)和第一操作模板(operation),第二ETL模板包括第二数据格式模板和第二操作模板。具体地,所述数据格式模板用于数据的数据提取和转换过程,操作模板用于数据落地及业务处理过程。其中,该步骤的数据转换是指对数据进行变换,例如,需要提取的数据是时间戳1577699321,则通过数据转换将其变为预设的时间格式,如2019-12-30 17:48:41。数据落地是指对ETL之后的数据持久化存储到文件或集群中。
该步骤中,第一ETL模板规定了对第一数据清洗的规则,具体地,第一数据会按照上述的数据格式模板(schema)定义的数据格式进行清洗,并按照操作模板(operation)中定义的落地方式进行持久化存储。
第一ETL模板对所有第一数据生效,每段第一数据必定包含预设关键字的一种或多种。具体地,当出现上述关键字的一个或多个时,第一ETL模板能够确定对应的处理程序,示例性地,在*schema模板中,{”isRequired”:1}代表apiVersion这个字段是必须的,也就是apiVersion这个字段是预设的关键字,若原始数据中不存在该字段,即未出现预设的关键字,则认为原始数据非法。{"minVal":0}代表该字段的值必须大于等于0,也就是预设的关键字或关键信息未该字段的值存在且必须要大于等于0,当出现时,则执行预设的处理程序。示例性地,如下述程序所示:
*schema:
{
"apiversion":{"isRequired":1},
"appId":{"isRequired":1},
"eventId":{"isRequired":1},
"eventTime":{"isRequired":1},
"requestIp":{"isRequired":1},
"duration":{
"isRequired":0,
"valType":"int",
"minVal":0,
"maxVal":86400000,
"defaultVal":0
},
"segmentation":{"isRequired":0},
"customSegmentation":{"isRequired":0}
},
示例性地,当出现关键字为apiversion、appId、eventId、eventTime、requestIp、duration,segmentation和customSegmentation,则根据关键字确定对应的处理程序如下:
第一数据经过上述程序处理后完成数据清洗,数据清洗是对数据集通过丢弃、填充、替换、去重等操作,达到去除异常、纠正错误、补足缺失的目的,该步骤使用第一ETL模板清洗第一数据,实现对大数据中的缺失值、异常值和重复值的清除,对清洗后的第一数据执行步骤S2022。
S2022、使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据。
该步骤中,所述第二ETL模板包括第二预设关键字和对应的第二处理程序,则该步骤S2022具体包括:判断清洗后的所述第一数据是否有预设的第二关键字。若是,则使用所述第二处理程序自定义处理清洗后的所述第一数据,以生成第二数据。
该步骤中,基于业务处理需求预设有多个第二ETL模板。清洗后的第一数据生成后,使用接口、程序ID、事件ID匹配指定的事件,以对清洗后的第一数据进行分类。
基于业务处理需求,将清洗后的第一数据分类后生成多个任务,在任务处理过程为多线程异步处理,以避免对ETL流程造成阻塞。在每个任务中,使用不同的第二ETL模板自定义处理清洗后的第一数据。
示例性地,第二ETL模板为第二ETL处理过程中的执行程序模板,模板程序中具有预设的关键字。具体步骤为:判断所述清洗后的第一数据中是否有预设的第二关键字。若是,则使用所述第二处理程序所述第二数据进行数据清洗。使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据。
该步骤中,第二ETL模板规定了对第二数据清洗的规则,具体地,第二数据会按照上述的数据格式模板(schema)定义的数据格式进行清洗,并按照操作模板(operation)中定义的落地方式进行持久化存储。持久化存储可以根据需要将数据存储在HDFS、Kafka、ES数据库中,示例性地,在上述代码中,持久化存储可以在*operation模板中进行配置,例如{"loadMode":"es"}就表示存在在ES中。
第二ETL模板基于业务需求,可以有一个或多个,每个第二ETL模板对制定的第一数据生效。具体地,当清洗后的第一数据出现预设的第二关键字的一个或多个时,第二ETL模板能够确定对应的事件,并为对应事件分配处理程序
示例性地,第二ETL模板的预设关键字为请求接口(apiVersion)、appId和事件ID(eventId),根据上述几个关键字能够从清洗后的第一数据中唯一确定一个指定事件,
如下述程序所示:
*schema:
{
"apiversion":{"isRequired":1},
"appId":{"isRequired":1},
"eventId":{"isRequired":1},
"email":{
"isRequired":0,
"regex":"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$"
},
"sex":{
"transfrom":{
"0":"secret",
"1":"woman",
"2":"man"
}
},
"answers":{
"isRequired":1,
"filterKeys":"q1,q5"
}
}
在*schema模板中,"transfrom":{
"0":"secret",
"1":"woman",
"2":"man"
}
代表若sex这个字段的值是0,就将该字段值z转换为secret;若字段值为1,就将该字段值转换为woman;若字段值为2,就将该字段值转换为man。
"regex":"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$"表示需要email的格式符合该正则表达式,若email的值不符合,则认为该数据为非法数据。则根据上述代码和对应的关键词,处理程序如下:
*operation
{
"load":[
{
"loadMode":"es",
"loadConfig":{"eventIndex":"survey","eventType":"etl_event"}
}],
"distribTopics":"survey_stats"
}
第一数据经过上述程序处理后完成业务处理并生成第二数据,该步骤使用第二ETL模板对清洗后的第一数据进行分类的业务处理,获得处理后的数据集。
S203、将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
本实施例通过在每个ETL模板中增加预设的自定义关键字和对应的处理程序,实现对清洗规则的动态扩展。
本实施例通过对ETL模板增加关键字和对应的处理程序,使数据的ETL处理过程识别到预定义的关键字时就可以出发相应的执行程序,方便根据需要动态调整ETL模板,实现大数据处理中规则的动态拓展。
实施例三
如图3所示,本实施例提供了一种模板数据处理装置3,包括如下模块:
获取模块301,用于从数据流获取第一数据;
数据处理模块302,用于基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据;
存储模块303,用于将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
在替代实施例中如图4,数据处理模块302包括:
第一清洗单元,用于使用预设的第一ETL模板对所述第一数据进行无效数据清洗。包括:
第一判断子单元30211,用于判断所述第一数据中是否有预设的第一关键字;第一清洗子单元30212,用于若是,则使用所述第一处理程序所述第一数据进行无效数据清洗。
第二清洗单元,用于使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据。包括:
第二判断子单元30221,用于判断清洗后的所述第一数据是否有预设的第二关键字;第二清洗子单元30222,用于若是,则使用所述第二处理程序自定义处理清洗后的所述第一数据,以生成第二数据。
该装置还包括:
存储模块304,用于将所述第一数据存入Kafka集群。
本发明实施例三所提供的一种模板数据处理装置可执行本发明任意实施例所提供的模板数据处理方法,具备功能模块相应的执行方法和有益效果。
实施例四
本实施例提供了一种服务器,用于图5为本发明实施例四提供的一种服务器的结构示意图,如图5所示,该设备包括处理器401、存储器402、输入装置403和输出装置404;设备中处理器401的数量可以是一个或多个,图5以一个处理器401为例;设备中的处理器401、存储器402、输入装置403和输出装置404可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器402作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例一中的一种模板数据处理方法对应的模块(例如实施例三中的获取模块301、数据处理模块302等)。处理器401通过运行存储在存储器402中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的一种模板数据处理方法。
存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器402可进一步包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
实施例五提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种模板数据处理方法,该方法包括:
从数据流获取第一数据;
基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据;
将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的模板数据处理方法的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种模板数据处理方法,其特征在于,包括:
从数据流获取第一数据;
基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据;
将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
2.根据权利要求1所述的一种模板数据处理方法,其特征在于,所述基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据,包括:
使用预设的第一ETL模板对所述第一数据进行无效数据清洗;
使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据。
3.根据权利要求2所述的一种模板数据处理方法,其特征在于,所述第一ETL模板包括第一预设关键字和对应的第一处理程序,所述使用预设的第一ETL模板对所述第一数据进行无效数据清洗,包括:
判断所述第一数据中是否有预设的第一关键字;
若是,则使用所述第一处理程序所述第一数据进行无效数据清洗。
4.根据权利要求2所述的一种模板数据处理方法,其特征在于,所述第二ETL模板包括第二预设关键字和对应的第二处理程序,则所述使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据,包括:
判断清洗后的所述第一数据是否有预设的第二关键字;
若是,则使用所述第二处理程序自定义处理清洗后的所述第一数据,以生成第二数据。
5.根据权利要求2所述的一种模板数据处理方法,其特征在于,所述在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据,所述处理采用多线程异步处理。
6.根据权利要求1所述的一种模板数据处理方法,其特征在于,所述从数据流获取第一数据之后,还包括:
将所述第一数据存入Kafka集群。
7.一种模板数据处理装置,其特征在于,包括:
获取模块,用于从数据流获取第一数据;
数据处理模块,用于基于数据处理需求,在Flink框架中生成多个Flink任务对第一数据进行处理,以生成第二数据;
存储模块,用于将所述第二数据中时效性高的数据存入第一集群以进行实时计算,将所述第二数据中时效性低的数据存入第二集群以进行离线计算。
8.根据权利要求7所述的一种模板数据处理装置,其特征在于,所述数据处理模块包括:
第一清洗单元,用于使用预设的第一ETL模板对所述第一数据进行无效数据清洗;
第二清洗单元,用于使用预设的第二ETL模板对清洗后的第一数据进行自定义处理,以生成第二数据。
9.一种服务器,其特征在于,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6任意一项所述的模板数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现如权利要求1-6任意一项所述的模板数据处理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019114189134 | 2020-03-31 | ||
CN201911418913 | 2020-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111352930A true CN111352930A (zh) | 2020-06-30 |
Family
ID=71194985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010315982.9A Pending CN111352930A (zh) | 2020-03-31 | 2020-04-21 | 一种模板数据处理方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352930A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631755A (zh) * | 2020-12-30 | 2021-04-09 | 上海高顿教育科技有限公司 | 一种基于事件流驱动的数据清洗方法和装置 |
CN113805851A (zh) * | 2021-08-27 | 2021-12-17 | 上海得帆信息技术有限公司 | 一种Flink自动集成方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083378A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Managing processing of long tail task sequences in a stream processing framework |
CN109213756A (zh) * | 2018-10-22 | 2019-01-15 | 北京锐安科技有限公司 | 数据存储、检索方法、装置、服务器和存储介质 |
CN109271412A (zh) * | 2018-09-28 | 2019-01-25 | 中国-东盟信息港股份有限公司 | 智慧城市的实时流数据处理方法及系统 |
CN109388667A (zh) * | 2017-08-14 | 2019-02-26 | 中兴通讯股份有限公司 | 组件化大数据处理方法、系统及计算机可读存储介质 |
-
2020
- 2020-04-21 CN CN202010315982.9A patent/CN111352930A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083378A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Managing processing of long tail task sequences in a stream processing framework |
CN109388667A (zh) * | 2017-08-14 | 2019-02-26 | 中兴通讯股份有限公司 | 组件化大数据处理方法、系统及计算机可读存储介质 |
CN109271412A (zh) * | 2018-09-28 | 2019-01-25 | 中国-东盟信息港股份有限公司 | 智慧城市的实时流数据处理方法及系统 |
CN109213756A (zh) * | 2018-10-22 | 2019-01-15 | 北京锐安科技有限公司 | 数据存储、检索方法、装置、服务器和存储介质 |
Non-Patent Citations (1)
Title |
---|
余宣杰,姜欣荣: "《银行大数据应用》", 31 August 2019, 北京:机械工业出版社, pages: 96 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631755A (zh) * | 2020-12-30 | 2021-04-09 | 上海高顿教育科技有限公司 | 一种基于事件流驱动的数据清洗方法和装置 |
CN113805851A (zh) * | 2021-08-27 | 2021-12-17 | 上海得帆信息技术有限公司 | 一种Flink自动集成方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427681B (zh) | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 | |
US8381016B2 (en) | Fault tolerance for map/reduce computing | |
CN107665154B (zh) | 基于rdma与消息传递的可靠数据分析方法 | |
CN111949633B (zh) | 一种基于并行流处理的ict系统运行日志分析方法 | |
CN110190991B (zh) | 一种多应用场景下的分布式流处理系统的容错方法 | |
CN111352930A (zh) | 一种模板数据处理方法、装置、服务器和存储介质 | |
US10423625B2 (en) | Exactly-once semantics for streaming analytics in non-idempotent output operations | |
CN104008012A (zh) | 一种基于虚拟机动态迁移的高性能MapReduce实现机制 | |
CN112416654A (zh) | 一种数据库日志重演方法、装置、设备及存储介质 | |
Xie et al. | Orpheus: Efficient distributed machine learning via system and algorithm co-design | |
Xu et al. | Dynamic backup workers for parallel machine learning | |
Rathore | Checkpointing: fault tolerance mechanism | |
CN117370314A (zh) | 一种分布式数据库系统协同优化、数据处理系统及方法 | |
Deng et al. | Cloud computing based high-performance platform in enabling scalable services in power system | |
Bendjoudi et al. | Fth-b&b: A fault-tolerant hierarchicalbranch and bound for large scaleunreliable environments | |
CN109725916B (zh) | 流处理的拓扑结构更新系统和方法 | |
CN113032385B (zh) | 一种易扩展可配置化的数据备份系统及方法 | |
Knoell et al. | BISHOP-Big Data Driven Self-Learning Support for High-performance Ontology Population. | |
Dasgupta et al. | Study of various parallel implementations of association rule mining algorithm | |
Pandey et al. | Comparative Study on Realtime Data Processing System | |
CN110489128B (zh) | 将特征计算脚本转换成底层程序代码的方法和设备 | |
Taamneh et al. | Parallel and fault-tolerant k-means clustering based on the actor model | |
Chalumporn et al. | A Sub-Linear Scalable MapReduce-based Apriori Algorithm | |
CN105512087B (zh) | 一种资源约束性多节点计算系统的可靠性评估方法 | |
US10374915B1 (en) | Metrics processing service |
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 |