掌桥专利:专业的专利平台
掌桥专利
首页

一种数据清洗方法及装置

文献发布时间:2023-06-19 16:06:26



技术领域

本发明涉及数据处理领域,更具体的说,涉及一种数据清洗方法及装置。

背景技术

随着计算机技术和通信技术的飞速发展,人们可以获得越来越多的数字化信息,但同时也需要投入更多的时间对数字化信息进行组织和整理。例如,在银行项目中,数据处理系统接收的数据文件中的数据是由企业根据某一主题,从业务系统中抽取出来的,这样数据文件中的数据难免会有脏数据,需要对数据文件中的数据进行数据清洗。

目前,是在原始数据入库后,通过SQL语句实现对数据的清洗,数据与应用未分离,耦合性高。这样,当一次清洗的数据量过大时,清洗效率较慢。

发明内容

有鉴于此,本发明实施例公开一种数据清洗方法及装置,以提高数据清洗效率。

本发明实施例提供的技术方案如下:

本发明实施例第一方面提供了一种数据清洗方法,所述方法包括:

计算第一数据文件中的第一数据条数;

根据数据量系数和所述第一数据条数对所述第一数据文件进行划分,得到多个第一数据子集;

根据预设的数据清洗规则选定所需的第一数据清洗模型;

利用所述第一数据清洗模型对每个所述第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集。

在一种可能的实现方式中,所述方法还包括:

获取数据接口标准化模板中每列数据对应的数据清洗单元;其中,同列数据具有相同的属性;

根据所述数据清洗单元生成数据清洗单元配置列表;

在所述数据清洗单元配置列表上配置数据清洗规则;

根据配置完成的所述数据清洗单元配置列表,建立数据清洗模型;所述数据清洗模型包括多个数据清洗单元。

在一种可能的实现方式中,所述在所述数据清洗单元配置列表上配置数据清洗规则,包括:

根据不同业务场景需求,在所述数据清洗单元配置列表上配置对应的数据清洗规则。

在一种可能的实现方式中,所述方法还包括:

在用户操作界面展示所述数据清洗单元配置列表。

在一种可能的实现方式中,当所述数据清洗模型需要进行调整时,所述方法还包括:

根据调整需求对所述数据清洗模型对应的至少一个数据清洗单元进行调整。

在一种可能的实现方式中,所述根据数据量系数和所述第一数据条数对所述第一数据文件进行划分,得到多个第一数据子集,包括:

在用户操作界面上设定数据量系数X;

根据所述数据量系数X和所述第一数据条数NUM对所述第一数据文件进行划分,得到Y个第一数据子集;其中,前Y-1个第一数据子集每个均存储X条数据,最后一个第一数据子集存储剩下r条的数据;

其中,所述NUM=X*(Y-1)+r。

在一种可能的实现方式中,所述方法还包括:

计算第二数据文件中的第二数据条数;

根据数据量系数和所述第二数据条数对所述第二数据文件进行划分,得到多个第二数据子集;

利用所述第一数据清洗模型对每个第二数据子集同步进行数据清洗,以得到清洗后的第二数据子集;其中,所述第一数据文件和所述第二数据文件是采用相同的数据接口标准化模板。

在一种可能的实现方式中,所述方法还包括:

利用第二数据清洗模型对每个所述清洗后的第一数据子集进行数据清洗;其中,所述第二数据清洗模型与所述第一数据清洗模型是针对同一数据接口标准化模板建立的。

本申请第二方面提供了一种数据清洗装置,所述装置包括:

计算单元,用于计算第一数据文件中的第一数据条数;

划分单元,用于根据数据量系数和所述第一数据条数对所述第一数据文件进行划分,得到多个第一数据子集;

选定单元,用于根据预设的数据清洗规则选定所需的第一数据清洗模型;

清洗单元,用于利用所述第一数据清洗模型对每个所述第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集。

在一种可能的实现方式中,所述装置还包括:

获取单元,用于获取数据接口标准化模板中每列数据对应的数据清洗单元;其中,同列数据具有相同的属性;

生成单元,用于根据所述数据清洗单元生成数据清洗单元配置列表;

配置单元,用于在所述数据清洗单元配置列表上配置数据清洗规则;

建立单元,用于根据配置完成的所述数据清洗单元配置列表,建立数据清洗模型;所述数据清洗模型包括多个数据清洗单元。

从上述的技术方案可知,本发明实施例公开了一种数据清洗方法及装置,计算第一数据文件中的第一数据条数;根据数据量系数和第一数据条数对第一数据文件进行划分,得到多个第一数据子集;根据预设的数据清洗规则选定所需的第一数据清洗模型;利用第一数据清洗模型对每个第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集。可见,本发明实施例是以数据子集为单位,分组对数据文件中的数据同步进行处理,提高了数据清洗效率。而且,是在数据入库之前对数据文件中的数据进行数据清洗,数据与应用分离,进一步提高了数据清洗效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。

图1为本发明实施例公开的一种数据清洗方法的流程图;

图2为本发明实施例公开的一种划分数据文件的示意图;

图3为本发明实施例公开的一种获取数据清洗单元的示意图;

图4为本发明实施例公开的一种复用数据清洗模型的流程图;

图5为本发明实施例公开的一种数据清洗方法的流程图;

图6为本发明实施例公开的一种数据清洗装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种数据清洗方法及装置,计算第一数据文件中的第一数据条数;根据数据量系数和第一数据条数对第一数据文件进行划分,得到多个第一数据子集;根据预设的数据清洗规则选定所需的第一数据清洗模型;利用第一数据清洗模型对每个第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集。可见,本发明实施例是以数据子集为单位,分组对数据文件中的数据同步进行处理,提高了数据清洗效率。而且,是在数据入库之前对数据文件中的数据进行数据清洗,数据与应用分离,进一步提高了数据清洗效率。

参见图1,本发明实施例公开的一种数据清洗方法流程图,该方法包括:

步骤S101、计算第一数据文件中的第一数据条数;

需要说明的是,在计算数据文件中的数据条数之前,需先将数据文件进行解压,读取数据文件中的数据。本发明实施例中可以以行为单位,计算数据文件中的数据条数。

步骤S102、根据数据量系数和所述第一数据条数对所述第一数据文件进行划分,得到多个第一数据子集;

需要说明的是,可以由用户在用户操作界面上设定第一数据子集的数据量系数。

参见图2,本发明实施例公开的一种划分数据条数的示意图。用户先在用户操作界面上设定第一数据子集的数据量系数X;然后根据该数据量系数X和第一数据条数NUM对第一数据文件进行划分,得到Y个第一数据子集。其中,前Y-1个第一数据子集每个均存储X条数据,最后一个第一数据子集存储剩下r条的数据。具体的关系可表示为NUM=X*(Y-1)+r。

步骤S103、根据预设的数据清洗规则选定所需的第一数据清洗模型;

可以理解的是,本发明实施例中包括多个数据清洗模型,多个数据清洗模型是分别针对不同的业务场景建立的,用户可以在用户操作界面上根据预设的数据清洗规则从多个数据清洗模型中选定任一所需的数据清洗模型。

步骤S104、利用所述第一数据清洗模型对每个所述第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集;

可以理解的是,本发明实施例中的数据清洗是指发现并纠正数据文件中可识别的错误,包括检查数据一致性,处理无效值和缺失值等。通过数据清洗,获取符合业务需求的数据。

可以理解的是,数据清洗完成后,会得到每个第一数据子集分别对应的清洗后的第一数据子集。例如:数据子集D1进行数据清洗操作之后,会得到对应的清洗后的数据子集D’1;数据子集D2进行数据清洗操作之后,会得到对应的清洗后的数据子集D’2。

需要说明的是,可以将数据清洗过程中不符合清洗规则,即被过滤的数据统一加载到预设文件中,以便后续用户根据需求进行查看。其中,预设文件可以为.bad文件。

本发明实施例公开了一种数据清洗方法,计算第一数据文件中的第一数据条数;根据数据量系数和第一数据条数对第一数据文件进行划分,得到多个第一数据子集;根据预设的数据清洗规则选定所需的第一数据清洗模型;利用第一数据清洗模型对每个第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集。可见,本发明实施例是以数据子集为单位,分组对数据文件中的数据同步进行处理,提高了数据清洗效率。而且,是在数据入库之前对数据文件中的数据进行数据清洗,数据与应用分离,进一步提高了数据清洗效率。

为进一步优化上述实施例,本发明实施例中数据清洗方法,还包括:

步骤S106、将每个所述清洗后的第一数据子集插入到数据库中对应的数据表中。

需要说明的是,可以通过脚本读取清洗后的第一数据子集中的数据,然后将数据插入到数据库中对应的目标数据表中。

本发明实施例中,将每个清洗后的第一数据子集插入到数据库中对应的数据表中,实现对处理后数据的对应存储,便于后续查看。而且,是在数据清洗完成后再进行数据入库,使得数据清洗过程中数据与应用分离,进一步提高了数据清洗效率。

为进一步优化上述实施例,本发明实施例中数据清洗方法,还包括:

步骤S201、获取数据接口标准化模板中每列数据对应的数据清洗单元;其中,同列数据具有相同的属性。

可以理解的是,企业推送给数据处理系统的数据文件参考了数据接口标准化模板,在源数据中,同列数据具有相同的字段类型、格式等要求。因此,可以将同列数据归为一个数据清洗单元,源数据划分为K个数据清洗单元。

参考图3,本发明实施例公开的一种获取数据清洗单元的示意图。将数据文件中的BILL_ID列定义为一个数据清洗单元,即获取数据清洗单元BILL_ID;将CRE_DATE定义为一个数据清洗单元,即获取数据清洗单元CRE_DATE等等。

步骤S202、根据所述数据清洗单元生成数据清洗单元配置列表;

需要说明的是,本发明实施例中生成数据清洗单元配置列表之后,会在用户操作界面上展示该数据清洗单元配置列表,以便后续用户在数据清洗单元配置列表上配置数据清洗规则。可见,本发明实施例中的数据清洗规则配置是可视化的,弱化了用户操作难度。

步骤S203、在所述数据清洗单元配置列表上配置数据清洗规则;

需要说明的是,本发明实施例中是在数据清洗单元配置列表上,对每个数据清洗单元配置对应的数据校验规则,根据数据校验结果配置对应的数据清洗方式。其中,数据清洗单元配置列表包括数据清洗单元、数据校验规则、数据清洗方式。以下表表1为例进行说明,当数据清洗单元为“单据编号BILL_NUM”时,校验规则为“校验编号长度,length(BILL_NUM)=3”,数据清洗方式为“当编号长度不为3时,进行截断”。

表1数据清洗单元配置列表

需要说明的是,可配置的数据清洗方式来自现有的数据清洗集合,该集合可根据后期发展进行扩展。

步骤S204、根据配置完成的所述数据清洗单元配置列表,建立数据清洗模型。

本发明实施例中,是分别对每个数据清洗单元配置对应的数据检验规则、数据清洗方式,如此实现以细粒度配置数据检验规则、数据清洗方式,当后续需对数据清洗模型进行调整时,只需对某一个或多个数据清洗单元进行调整,增强了数据清洗模型的可维护性。

为进一步优化上述实施例,上述步骤S203具体包括:

根据不同业务场景需求,在数据清洗单元配置列表上配置对应的数据清洗规则。

可以理解的是,根据不同业务场景需求可建立多个数据清洗模型,得到一套数据清洗模型,一套数据清洗模型中会包括第一数据清洗模型、第二数据清洗模型等等。

本发明实施例中,可根据不同业务场景需求建立对应的数据清洗模型,如此实现根据不同业务场景需求生成一套数据清洗模型,以满足用户不同的清洗需求,供用户根据需求进行选择。

为进一步优化上述实施例,当所述数据清洗模型需要进行调整时,本发明实施例中数据清洗方法,还包括:

根据调整需求对所述数据清洗模型对应的至少一个数据清洗单元进行调整。

可以理解的是,对数据清洗单元进行调整,实质上是对数据清洗单元对应的数据校验规则、数据清洗方式进行调整。例如:原数据清洗模型中数据清洗单元“单据编号BILL_NUM”的校验规则为“校验编号长度,length(BILL_NUM)=3”。现需要将数据清洗模型中数据清洗单元“单据编号BILL_NUM”的校验规则修改为“校验编号长度,length(BILL_NUM)=4”,则只需对数据清洗单元配置列表中的数据清洗单元“单据编号BILL_NUM”对应的校验规则进行调整,无需对其他数据清洗单元进行调整。

本发明实施例中,当数据清洗模型需进行调整时,只需根据调整需求对某一个或多个数据清洗单元进行调整,增强了数据清洗模型的可维护性。

为进一步优化上述实施例,本发明实施例中数据清洗方法,还包括:

步骤S301、计算第二数据文件中的第二数据条数;

步骤S302、根据数据量系数和所述第二数据条数对所述第二数据文件进行划分,得到多个第二数据子集;

步骤S303、利用所述第一数据清洗模型对每个第二数据子集同步进行数据清洗,以得到清洗后的第二数据子集;其中,所述第一数据文件和所述第二数据文件是采用相同的数据接口标准化模板。

参见图4,本发明实施例公开的一种复用数据清洗模型的流程图。其中,数据清洗模板指的就是数据清洗模型。本发明实施例中,采用相同的数据接口标准化模板得到的数据文件,可以使用同一套数据清洗模型进行清洗。例如:一套数据清洗模型包括数据清洗模型1和数据清洗模型2。数据文件A与数据文件B是采用相同的数据接口标准化模板得到的。则可利用数据清洗模型1和数据清洗模型2对数据文件A进行清洗,也可利用清洗模型1和数据清洗模型2对数据文件B进行清洗。

本发明实施例中,数据清洗模型可复用,提高了数据清洗的灵活性。

为进一步优化上述实施例,本发明实施例中数据清洗方法,还包括:

利用第二数据清洗模型对每个所述清洗后的第一数据子集进行数据清洗;其中,所述第二数据清洗模型与所述第一数据清洗模型是针对同一数据接口标准化模板建立的。

同样参见图4,在得到清洗后的第一数据子集之后,本发明实施例还会进一步利用不同于第一数据清洗模型的第二清洗模型对清洗后的第一数据子集再次进行数据清洗。例如:利用数据清洗模型1对数据子集D1进行数据清洗操作,生成对应的新数据子集D’1,如此第一轮数据清洗完成。之后会利用数据清洗模型2对新数据子集D’1进行数据清洗,生成对应的新数据子集D”1,如此第二轮数据清洗完成。可以理解的是,后续还可以利用数据清洗模型3等继续对新数据子集D”1进行数据清洗。

本发明实施例中,利用不同的数据清洗模型对数据进行多次数据清洗,能够提高数据清洗的准确性。

参见图5,本发明实施例公开的一种数据清洗方法的流程图,该方法包括:将数据处理系统接收到的数据文件,根据设定系数X拆分成多个数据子集{数据子集D1,数据子集D2……数据子集DY}。根据数据接口标准化模板,定义每列数据对应的数据清洗单元,生成数据清洗单元配置列表展示于用户操作界面。根据业务场景,用户在数据清洗单元配置列表上配置数据清洗规则,生成一套数据清洗模型。选定所需数据清洗模型,对每个数据子集同步进行数据清洗,获得符合业务需求的数据,生成对应的数据子集{数据子集D’1,数据子集D’2……数据子集D’Y}。最后,将每个数据子集处理后的数据插入到数据库对应的数据表中,完成数据入库。

参见图6,本发明实施例公开的一种数据清洗装置的结构示意图,该装置包括:

计算单元601,用于计算第一数据文件中的第一数据条数;

划分单元602,用于根据数据量系数和所述第一数据条数对所述第一数据文件进行划分,得到多个第一数据子集;

选定单元603,用于根据预设的数据清洗规则选定所需的第一数据清洗模型;

清洗单元604,用于利用所述第一数据清洗模型对每个所述第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集。

本发明实施例公开了一种数据清洗装置,计算第一数据文件中的第一数据条数;根据数据量系数和第一数据条数对第一数据文件进行划分,得到多个第一数据子集;根据预设的数据清洗规则选定所需的第一数据清洗模型;利用第一数据清洗模型对每个第一数据子集同步进行数据清洗,以得到清洗后的第一数据子集。可见,本发明实施例是以数据子集为单位,分组对数据文件中的数据同步进行处理,提高了数据清洗效率。而且,是在数据入库之前对数据文件中的数据进行数据清洗,数据与应用分离,进一步提高了数据清洗效率。

为进一步优化上述实施例,本发明实施例中数据清洗装置,还包括:

数据入库单元,用于将每个所述新数据子集插入到数据库中对应的数据表中。

为进一步优化上述实施例,本发明实施例中数据清洗装置,还包括:

加载单元,用于将数据清洗过程中被过滤的数据统一加载到预设文件中。

为进一步优化上述实施例,本发明实施例中数据清洗装置,还包括:

获取单元,用于获取数据接口标准化模板中每列数据对应的数据清洗单元,其中,同列数据具有相同的属性;

生成单元,用于根据所述数据清洗单元生成数据清洗单元配置列表;

配置单元,用于在所述数据清洗单元配置列表上配置数据清洗规则;

建立单元,用于根据配置完成的所述数据清洗单元配置列表,建立数据清洗模型;所述数据清洗模型包括多个数据清洗单元。

为进一步优化上述实施例,本发明实施例中数据清洗装置,所述配置单元,具体用于根据不同业务场景需求,在所述数据清洗单元配置列表上配置对应的数据清洗规则。

为进一步优化上述实施例,本发明实施例中数据清洗装置,还包括:

展示单元,用于在用户操作界面展示所述数据清洗单元配置列表。

为进一步优化上述实施例,本发明实施例中数据清洗装置,还包括:

调整单元,用于根据调整需求对所述数据清洗模型对应的至少一个数据清洗单元进行调整。

为进一步优化上述实施例,本发明实施例中数据清洗装置,所述划分单元具体包括:

设定单元,用于在用户操作界面上设定数据量系数X;

划分子单元,用于根据所述数据量系数X和所述第一数据条数NUM对所述第一数据文件进行划分,得到Y个第一数据子集;其中,前Y-1个第一数据子集每个均存储X条数据,最后一个第一数据子集存储剩下r条的数据;

其中,所述NUM=X*(Y-1)+r。

为进一步优化上述实施例,本发明实施例中数据清洗装置,所述计算单元,还用于计算第二数据文件中的第二数据条数;

所述划分单元,还用于根据数据量系数和所述第二数据条数对所述第二数据文件进行划分,得到多个第二数据子集;

所述清洗单元,还用于利用所述第一数据清洗模型对每个第二数据子集同步进行数据清洗,以得到清洗后的第二数据子集;其中,所述第一数据文件和所述第二数据文件是采用相同的数据接口标准化模板。

为进一步优化上述实施例,本发明实施例中数据清洗装置,所述清洗单元,还用于利用第二数据清洗模型对每个所述清洗后的第一数据子集进行数据清洗,其中,所述第二数据清洗模型与所述第一数据清洗模型是针对同一数据接口标准化模板建立的。

需要说明的是,装置实施例中各组成部分的具体工作原理请参见方法实施例对应部分,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120114700226