CN112597145A - 实时数据清洗方法、系统、电子设备和存储介质 - Google Patents
实时数据清洗方法、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112597145A CN112597145A CN202011599198.1A CN202011599198A CN112597145A CN 112597145 A CN112597145 A CN 112597145A CN 202011599198 A CN202011599198 A CN 202011599198A CN 112597145 A CN112597145 A CN 112597145A
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- etl
- cleaning
- real
- 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
- 238000004140 cleaning Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000013515 script Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 11
- 238000009472 formulation Methods 0.000 claims 1
- 239000000203 mixture Substances 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005201 scrubbing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000005406 washing 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/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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
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)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种实时数据清洗的方法、系统、电子设备和存储介质,其中,该方法包括:识别字段获得步骤,分析并获得待新增的数据结构的唯一识别字段;规则更新步骤,将新增的数据结构对应的ETL清洗规则编写成处理脚本并放入ETL规则池中,ETL清洗规则对应唯一识别字段;规则同步步骤,一数据处理程序每隔一设定时间从ETL规则池拉取新增或更新的ETL清洗规则;数据清洗步骤,数据处理程序接收一数据,根据对应唯一识别字段选取对应ETL清洗规则,并据此清洗数据。通过针对不同数据编写不同ETL规则处理脚本,解决了新增或更新ETL规则时需要暂停数据服务,实现了提高生产效率,降低了运维成本。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及实时数据清洗的方法、系统、电子设备和存储介质。
背景技术
当今数据时代,大数据的海量接入给平台兼容使用各种结构的数据产生大量挑战。显然,对数据的清洗(ETL)与治理显得尤为重要。
随着数据源的增加及数据源结构的多样性,需要有针对的应对各种结构的数据源,进行取值(Extract),转换(Transform),传输或加载(Load),按照既定的规则进行数据转换,传输到下一流程当中。然而在实际生产中,ETL程序服务不会随意终止服务,进行规则的升级与加载,
目前针对相关技术中无法实时进行数据清洗的问题,尚未提出有效对的解决方案。
发明内容
本申请实施例提供了一种动态更新实时数据清洗ETL规则的方法、系统、电子设备和存储介质,无需停止实时处理任务,仅通过修改设置好的ETL规则池,来进行新增或变更数据的处理,无需修改流程或数据处理代码,以至少解决相关技术中无法实施进行数据清理的问题。
第一方面,本申请实施例提供了一种实时数据清洗的方法,包括:
识别字段获得步骤,分析并获得待新增的数据结构的唯一识别字段;
规则更新步骤,将新增的所述数据结构对应的ETL清洗规则编写成处理脚本并放入ETL规则池中,所述ETL清洗规则对应所述唯一识别字段;
规则同步步骤,一数据处理程序每隔一设定时间从所述ETL规则池拉取新增或更新的所述ETL清洗规则;
数据清洗步骤,所述数据处理程序接收一数据,根据对应所述唯一识别字段选取对应所述ETL清洗规则,并据此清洗所述数据。
在其中一些实施例中,所述ETL清洗规则基于对应所述数据结构根据数据供应方的自身需求制定并存入一文件系统中。
在其中一些实施例中,所述数据清洗步骤具体包括:
通过一代码脚本从一消息阵列中获取所述数据,并根据其对应所述唯一识别字段从所述文件系统中读取所述ETL清洗规则,据此清洗所述数据后,将清洗结果存入一数据库。
在其中一些实施例中,所述数据处理程序设置在Flink实时流计算框架下,所述ETL清洗规则存入HDFS文件系统,所述数据处理程序每隔一设定时间从所述HDFS文件系统中拉取或更新所述ETL清洗规则。
第二方面,本申请实施例提供了一种实时数据清洗的系统,应用上述第一方面所述的方法,包括:
识别字段获得模块,分析并获得待新增的数据结构的唯一识别字段;
规则更新模块,将新增的所述数据结构对应的ETL清洗规则编写成处理脚本并放入ETL规则池中,所述ETL清洗规则对应所述唯一识别字段;
规则同步模块,一数据处理程序每隔一设定时间从所述ETL规则池拉取新增或更新的所述ETL清洗规则;
数据清洗模块,所述数据处理程序接收一数据,根据对应所述唯一识别字段选取对应所述ETL清洗规则,并据此清洗所述数据。
在其中一些实施例中,所述规则更新模块包括规则制定单元,所述规则制定单元基于对应所述数据结构,采集数据供应方的自身需求,据此制定所述ETL清洗规则并存入一文件系统中。
在其中一些实施例中,所述数据清洗模块通过一代码脚本从一消息阵列中获取所述数据,并根据其对应所述唯一识别字段从所述文件系统中读取所述ETL清洗规则,据此清洗所述数据后,将清洗结果存入一数据库。、
在其中一些实施例中,所述规则同步模块设置在Flink实时流计算框架下,所述ETL清洗规则存入HDFS文件系统,所述数据处理程序每隔一设定时间从所述HDFS文件系统中拉取或更新所述ETL清洗规则。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的实时数据清洗的方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的实时数据清洗的方法。
相比于相关技术,本申请实施例提供的实时数据清洗的方法、系统、电子设备和存储介质,通过针对不同数据编写不同ETL规则处理脚本,解决了新增或更新ETL规则时需要暂停数据服务,实现了提高生产效率,降低了运维成本。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据相关技术的数据处理方式的流程图;
图2是根据本申请实施例的实时数据清洗的方法的流程图;
图3是根据本申请优选实施例的实时数据清洗的方法的流程图;
图4是根据本申请实施例的实时数据清洗的方法的优选流程图;
图5是根据本申请实施例的实时数据清洗的系统的结构框图,
图6为根据本申请实施例的电子设备的硬件结构示意图。
附图说明:
识别字段获得模块1; 规则更新模块2; 规则制定单元21
规则同步模块3; 数据清洗模块4; 数据传输可用组件101;
数据计算组件102; 输出端103; 处理器81;
存储器82;通信接口83;总线80。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
目前主流的实时数据处理服务均是按照已知的数据源的数据结构将对应规则定义在程序中,当数据源接入后,ETL程序读取输入数据,按照既定的规则代码逻辑清洗数据,并输出至下一端。
图1是根据相关技术的数据处理方式的流程图,如图1所示,数据传输可用组件101可以设置为flume、logstash或kafka;数据计算组件102可以设置为MapReduce、spark orflink;输出端103可以是DB或下一级输入,数据采集端采集的各种渠道数据,针对不同渠道在数据处理框架程序中定义ETL清洗规则,解析数据,分析数据结构,进行不同的ETL清洗,并将对应清洗结果输出到输出端。
上述现有技术的缺点存在以下缺点:
1.数据处理服务于数据格式类型高耦合,无法复用;
2.在新增数据输入源或者更改已有数据源结构时,需要修改ETL清洗规则,终止数据处理服务;
3.终止、修改、重启等操作费时,无法保证实时数据的时效性,增加运维成本。
本发明旨在有效解决数据清洗生产环境中新增或更新数据清洗规则需要终止服务,重启服务这一流程,影响生产效率,增加运维成本这一弊端。
基于上述目的,本实施例提供了一种实时数据清洗的方法。图2是根据本申请实施例的实时数据清洗的方法的流程图,如图2所示,该流程包括如下步骤:
识别字段获得步骤S1,分析并获得待新增的数据结构的唯一识别字段;
规则更新步骤S2,将新增的数据结构对应的ETL清洗规则编写成处理脚本并放入ETL规则池中,ETL清洗规则对应唯一识别字段;
规则同步步骤S3,一数据处理程序每隔一设定时间从ETL规则池拉取新增或更新的ETL清洗规则;
数据清洗步骤S4,数据处理程序接收一数据,根据对应唯一识别字段选取对应ETL清洗规则,并据此清洗数据。
在实际的应用中,上述唯一识别字段除了根据对应新增或更改的数据结构选取唯一识别字段,还可以通过上游数据提供方直接约定,这样做的好处是可以适应不同的数据供应方的需求,以提高本方法的适用性。
通过上述步骤,实现动态读取数据清洗规则(ETL rule)的方案,在实时数据清洗流程中,从数据接入到数据处理过程中,数据处理程序读取数据结构体中的唯一标识字段,可记为key,根据key去规则池中获取相应的ETL清洗规则,进行处理,达到处理需求,数据处理程序则定期去扫描ETL规则池中的ETL清洗规则,并保存于程序中,通过对规则池的增删修改,达到动态的改变整个数据处理程序所需要的各种数据源的处理规则的方式。
本申请实施例解决当数据源新增,或者结构更新的情况下,可以不停止实时处理任务,仅仅修改预先设置好的规则池(ETL Rule Pool),来进行新增或变更数据的处理,无需修改流程或者数据处理代码。
这种方式打破了传统的数据清洗方式,数据清洗具体操作与数据服务解耦,灵活度高,学习成本低。同时,无需停止数据服务来做数据源接入更新,数据清洗服务平滑性提升;减少开发成本,仅需要针对不同数据编写不同处理脚本即可,运维成本低。
在其中一些实施例中,ETL清洗规则基于对应所述数据结构根据数据供应方的自身需求制定并存入一文件系统中。
在实际的应用中,ETL清洗规则是根据数据供应方的自身需求,初定则既定,这样做有效地保持数据清洗结果的稳定。
本申请实施例旨在精确清洗数据,并且在低延时情况下清洗数据,ETL规则池中的ETL清洗规则不会因为每条数据的变化而变化,在数据类型或对应的规则并未发生改变时,调用规则即直接从现有的缓存中读取,也就是说,数据处理过程具有时效性,性能经济性优异。
在其中一些实施例中,数据清洗步骤S4具体包括:
通过一代码脚本从一消息阵列中获取数据,并根据其对应唯一识别字段从文件系统中读取ETL清洗规则,据此清洗数据后,将清洗结果存入一数据库。
本申请实施例中的数据清洗ETL,以数据本身作为处理对象,通过代码脚本完成数据处理的整个过程,包括处理各种转接、Mapping等各种结构数据、数据出口多样化(可以是消息队列、各种OLAP数据库)和数据的实时处理,数据流从高速的消息队列中推送而来,到经过数据处理后进入数据库平均耗时0.15S左右,节省了计算资源,延时情况也可以进一步下降,实时效果显著。
在其中一些实施例中,数据处理程序设置在Flink实时流计算框架下,ETL清洗规则存入HDFS文件系统,数据处理程序每隔一设定时间从HDFS文件系统中拉取或更新ETL清洗规则。
将ETL清洗规则从HDFS拉取后,存入对应的是数据库,并生成对应的任务表供给数据处理过程中的调用。
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为ApacheNutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
本申请实施例中,文件系统还包括其他与HDFS文件系统相似的文件系统,例如,NFS系统、KASS系统和Andrew,本申请实施例不加赘述。
下面通过优选实施例对本申请实施例进行描述和说明。
图3是根据本申请优选实施例的实时数据清洗的方法的流程图。
预先处理步骤,首先对即将新增的数据结构分析,寻找获得该数据结构唯一识别的字段值,也可与上游数据提供方直接约定。
S301、规则放入规则池步骤
根据新的数据结构编写需要处理的新的ETL清洗规则(ETL规则),并放入ETL规则池中;
S302、规则文件同步步骤
数据处理服务会每隔一设定时间同步更新程序中的规则文件;
S303、数据清洗步骤
当数据与新获取到的ETL清洗规则匹配时,按ETL清洗规则清洗数据,从而实现新增数据源,新增规则,不停服务这种动态处理方式。
在实时数据服务中,可以使用flink实时流计算框架,在数据源接入部分选用kafka推送实时采集数据。图4是根据本申请实施例的实时数据清洗的方法的优选流程图,如图4所示,该实时数据清洗的方法包括如下步骤:
S401,在新数据源接入的时候,只需编写新的ETL清洗规则脚本,放入HDFS的规则池中;
S402,flink每分钟去HDFS文件系统读取所有规则,存入flink程序内存中,ETL清洗规则采用Groovy脚本统一清洗数据,即,每种数据使用各自约定好的groovy脚本处理;
S403,数据处理服务通过Kafka推送实时采集数据,根据同步新增的Groovy脚本文件,处理符合该ETL清洗规则对应的唯一表示字段key的数据,并将清洗结果存入数据库。
通过上述步骤,做到实时更新无需停止数据服务,并且数据处理细节的逻辑与数据服务解耦,做到数据处理灵活插拔。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种实时数据清洗的系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的实时数据清洗的系统的结构框图,如图5所示,该系统包括:
识别字段获得模块1,分析并获得待新增的数据结构的唯一识别字段;
规则更新模块2,将新增的数据结构对应的ETL清洗规则编写成处理脚本并放入ETL规则池中,ETL清洗规则对应唯一识别字段;
规则同步模块3,一数据处理程序每隔一设定时间从ETL规则池拉取新增或更新的ETL清洗规则;
数据清洗模块4,数据处理程序接收一数据,根据对应唯一识别字段选取对应ETL清洗规则,并据此清洗数据。
在实际的应用中,唯一识别字段获得模块中的唯一识别字段还可以通过上游数据提供方直接约定。可以适应不同的场景和不同的用户需求。
在其中一些实施例中,规则更新模块2包括规则制定单元21,规则制定单元21基于对应数据结构,采集数据供应方的自身需求,据此制定ETL清洗规则并存入一文件系统中。
在其中一些实施例中,数据清洗模块4通过一代码脚本从一消息阵列中获取数据,并根据其对应唯一识别字段从文件系统中读取ETL清洗规则,据此清洗数据后,将清洗结果存入一数据库。、
在其中一些实施例中,规则同步模块3设置在Flink实时流计算框架下,ETL清洗规则存入HDFS文件系统,数据处理程序每隔一设定时间从HDFS文件系统中拉取或更新ETL清洗规则。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例实时数据清洗的方法可以由电子设备来实现。图6为根据本申请实施例的电子设备的硬件结构示意图。
电子设备可以包括处理器81以及存储有计算机程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理系统的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种实时数据清洗的方法。
在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中,如图6所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以基于获取到的新的ETL清洗规则,执行本申请实施例中的规则同步步骤,从而实现结合图1描述的实时数据清洗的方法。
另外,结合上述实施例中的实时数据清洗的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种实时数据清洗的方法。
本申请实施例中所采用的开源框架可根据使用者的环境按需选择,目前各大数据数据引擎,如:Mapreduce,spark,flink,均可按照本申请实施例具体实施,即按需更改脚本衔接过程,本质与本方案一致。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种实时数据清洗的方法,其特征在于,包括:
识别字段获得步骤,分析并获得待新增的数据结构的唯一识别字段;
规则更新步骤,将新增的所述数据结构对应的ETL清洗规则编写成处理脚本并放入ETL规则池中,所述ETL清洗规则对应所述唯一识别字段;
规则同步步骤,一数据处理程序每隔一设定时间从所述ETL规则池拉取新增或更新的所述ETL清洗规则;
数据清洗步骤,所述数据处理程序接收一数据,根据对应所述唯一识别字段选取对应所述ETL清洗规则,并据此清洗所述数据。
2.根据权利要求1所述的实时数据清洗的方法,其特征在于,所述ETL清洗规则基于对应所述数据结构根据数据供应方的自身需求制定并存入一文件系统中。
3.根据权利要求2所述的实时数据清洗的方法,其特征在于,所述数据清洗步骤具体包括:
通过一代码脚本从一消息阵列中获取所述数据,并根据其对应所述唯一识别字段从所述文件系统中读取所述ETL清洗规则,据此清洗所述数据后,将清洗结果存入一数据库。
4.根据权利要求1所述的实时数据清洗的方法,其特征在于,所述数据处理程序设置在Flink实时流计算框架下,所述ETL清洗规则存入HDFS文件系统,所述数据处理程序每隔一设定时间从所述HDFS文件系统中拉取或更新所述ETL清洗规则。
5.一种实时数据清洗的系统,应用上述权利要求1-4任意一项所述的方法,其特征在于,包括:
识别字段获得模块,分析并获得待新增的数据结构的唯一识别字段;
规则更新模块,将新增的所述数据结构对应的ETL清洗规则编写成处理脚本并放入ETL规则池,所述ETL清洗规则对应所述唯一识别字段;
规则同步模块,一数据处理程序每隔一设定时间从所述ETL规则池拉取新增或更新的所述ETL清洗规则;
数据清洗模块,所述数据处理程序接收一数据,根据对应所述唯一识别字段选取对应所述ETL清洗规则,并据此清洗所述数据。
6.根据权利要求5所述的实时数据清洗的系统,其特征在于,所述规则更新模块包括规则制定单元,所述规则制定单元基于对应所述数据结构,采集数据供应方的自身需求,据此制定所述ETL清洗规则并存入一文件系统中。
7.根据权利要求6所述的实时数据清洗的系统,其特征在于,所述数据清洗模块通过一代码脚本从一消息阵列中获取所述数据,并根据其对应所述唯一识别字段从所述文件系统中读取所述ETL清洗规则,据此清洗所述数据后,将清洗结果存入一数据库。
8.根据权利要求5所述的实时数据清洗的系统,其特征在于,所述规则同步模块设置在Flink实时流计算框架下,所述ETL清洗规则存入HDFS文件系统,所述数据处理程序每隔一设定时间从所述HDFS文件系统中拉取或更新所述ETL清洗规则。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的实时数据清洗的方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述实时数据清洗的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599198.1A CN112597145A (zh) | 2020-12-29 | 2020-12-29 | 实时数据清洗方法、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599198.1A CN112597145A (zh) | 2020-12-29 | 2020-12-29 | 实时数据清洗方法、系统、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597145A true CN112597145A (zh) | 2021-04-02 |
Family
ID=75204125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011599198.1A Pending CN112597145A (zh) | 2020-12-29 | 2020-12-29 | 实时数据清洗方法、系统、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597145A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127473A (zh) * | 2021-05-18 | 2021-07-16 | 浙江太美医疗科技股份有限公司 | 医疗数据的处理方法、系统及计算机可读介质 |
CN113204706A (zh) * | 2021-05-24 | 2021-08-03 | 北京明略软件系统有限公司 | 基于MapReduce的数据筛选抽取方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150242476A1 (en) * | 2014-02-21 | 2015-08-27 | International Business Machines Corporation | Updating database statistics with dynamic profiles |
CN106933992A (zh) * | 2017-02-24 | 2017-07-07 | 北京华安普惠高新技术有限公司 | 基于数据分析的分布式数据清洗系统及方法 |
CN106933990A (zh) * | 2017-02-21 | 2017-07-07 | 南京朴厚生态科技有限公司 | 一种传感器数据清洗方法 |
CN107038260A (zh) * | 2017-05-27 | 2017-08-11 | 国家计算机网络与信息安全管理中心 | 一种可保持titan实时数据一致性的高效并行加载方法 |
CN107239581A (zh) * | 2017-07-07 | 2017-10-10 | 小草数语(北京)科技有限公司 | 数据清洗方法及装置 |
CN110471913A (zh) * | 2019-07-31 | 2019-11-19 | 北京慧萌信安软件技术有限公司 | 一种数据清洗方法及装置 |
-
2020
- 2020-12-29 CN CN202011599198.1A patent/CN112597145A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150242476A1 (en) * | 2014-02-21 | 2015-08-27 | International Business Machines Corporation | Updating database statistics with dynamic profiles |
CN106933990A (zh) * | 2017-02-21 | 2017-07-07 | 南京朴厚生态科技有限公司 | 一种传感器数据清洗方法 |
CN106933992A (zh) * | 2017-02-24 | 2017-07-07 | 北京华安普惠高新技术有限公司 | 基于数据分析的分布式数据清洗系统及方法 |
CN107038260A (zh) * | 2017-05-27 | 2017-08-11 | 国家计算机网络与信息安全管理中心 | 一种可保持titan实时数据一致性的高效并行加载方法 |
CN107239581A (zh) * | 2017-07-07 | 2017-10-10 | 小草数语(北京)科技有限公司 | 数据清洗方法及装置 |
CN110471913A (zh) * | 2019-07-31 | 2019-11-19 | 北京慧萌信安软件技术有限公司 | 一种数据清洗方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127473A (zh) * | 2021-05-18 | 2021-07-16 | 浙江太美医疗科技股份有限公司 | 医疗数据的处理方法、系统及计算机可读介质 |
CN113204706A (zh) * | 2021-05-24 | 2021-08-03 | 北京明略软件系统有限公司 | 基于MapReduce的数据筛选抽取方法及系统 |
CN113204706B (zh) * | 2021-05-24 | 2024-01-12 | 北京明略软件系统有限公司 | 基于MapReduce的数据筛选抽取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ji et al. | ispan: Parallel identification of strongly connected components with spanning trees | |
CN108280023B (zh) | 任务执行方法、装置和服务器 | |
US20150347305A1 (en) | Method and apparatus for outputting log information | |
Jin et al. | Fast: Fpga-based subgraph matching on massive graphs | |
CN112597145A (zh) | 实时数据清洗方法、系统、电子设备和存储介质 | |
Mayer et al. | Graphcep: Real-time data analytics using parallel complex event and graph processing | |
US10013335B2 (en) | Data flow analysis in processor trace logs using compiler-type information method and apparatus | |
Sha et al. | Gpu-based graph traversal on compressed graphs | |
US9880823B1 (en) | Method for translating multi modal execution dependency graph with data interdependencies to efficient application on homogenous big data processing platform | |
CN109558226B (zh) | 一种基于核间中断的dsp多核并行计算调度方法 | |
CN111611479B (zh) | 用于网络资源推荐的数据处理方法及相关装置 | |
CN110609924A (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN115994085A (zh) | 代码覆盖率的测试处理方法、装置、设备及存储介质 | |
CN111522648B (zh) | 一种区块链的交易处理方法、装置及电子设备 | |
CN113486109A (zh) | 异构数据库的数据同步方法、装置及电子设备 | |
Chakraborty et al. | Non-blocking PMI extensions for fast MPI startup | |
CN113296788B (zh) | 指令调度方法、装置、设备及存储介质 | |
CN111580827B (zh) | 机器学习模型的编译优化方法和装置 | |
CN110825453B (zh) | 基于大数据平台的数据处理方法及装置 | |
Hayakawa et al. | Design and implementation of a synchronization and communication controller for cluster computing systems | |
RU2490702C1 (ru) | Способ ускорения обработки множественных запросов типа select к rdf базе данных с помощью графического процессора | |
CN110109879B (zh) | 在多核系统中冲刷元数据的方法、设备和计算机可读介质 | |
CN116069464B (zh) | 一种基于分布式存储调用数据执行的优化方法及装置 | |
CN114417216B (zh) | 数据采集方法、装置、电子设备及可读存储介质 | |
CN117390040B (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 |