CN113535696B - 一种数据清洗方法、装置、电子设备和介质 - Google Patents
一种数据清洗方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN113535696B CN113535696B CN202110713685.4A CN202110713685A CN113535696B CN 113535696 B CN113535696 B CN 113535696B CN 202110713685 A CN202110713685 A CN 202110713685A CN 113535696 B CN113535696 B CN 113535696B
- Authority
- CN
- China
- Prior art keywords
- data
- cleaning
- resource information
- computing resource
- service 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.)
- Active
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 296
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000003860 storage Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 description 10
- 238000001914 filtration Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000013468 resource allocation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种数据清洗方法、装置、电子设备和可读存储介质,所述方法包括:在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息;根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息;根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息;采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗。根据本发明实施例,可以避免由于开发人员导致的计算资源预估失误问题。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据清洗方法、一种数据清洗装置、一种电子设备和一种计算机可读存储介质。
背景技术
数据在生成、传输和使用过程中,可能会由于人为操作失误、网络异常或系统逻辑错误等原因,产生一些“脏数据”,包括主键重复、字段异常、类型异常、码值异常等,通常是通过数据清洗将这些异常数据进行过滤或修复。
传统的数据清洗是通过数据库技术或清洗工具,通过设定清洗指标进行清洗的。但这种清洗方式依赖于清洗工具或数据库技术,当需要对海量数据进行数据清洗时,则会导致耗时过长,并且可能会影响正常数据库的使用。传统的数据清洗方式对不同数据需要定制化开发相应的清洗程序,通用性较差,也不适用于Hadoop(Hadoop Distributed FileSystem)大数据生态圈。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据清洗方法和相应的一种数据清洗装置、一种电子设备,以及一种计算机可读存储介质。
本发明实施例公开了一种数据清洗方法,所述方法包括:
在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息;
根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息;
根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息;
采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗。
可选地,所述业务数据的数据信息包括所述业务数据的数据量和数据记录数目,所述第二计算资源信息包括所述数据处理平台中的进程资源信息,所述根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息,包括:
根据所述业务数据的数据量和数据记录数目,计算清洗所述业务数据,所述数据处理平台所需分配的所述进程资源信息。
可选地,所述数据清洗策略包括多个数据清洗规则,所述根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息,包括:
若所述数据清洗策略中包含的数据清洗规则的数量大于预设的数量阈值,且所述数据清洗策略中包含预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最大计算资源信息,并将所述最大计算资源信息确定为所述最优计算资源信息;
若所述数据清洗策略中包含的数据清洗规则的数量不大于所述预设的数量阈值,且所述数据清洗策略中不包含所述预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最小计算资源信息,并将所述最小计算资源信息确定为所述最优计算资源信息。
可选地,所述采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗,包括:
采用所述最优计算资源信息申请集群资源后,确定所述多个数据清洗规则的调用顺序;
按照所述集群资源和所述调用顺序依次对所述业务数据进行清洗。
可选地,所述数据清洗规则包括行清洗规则,列清洗规则和主键清洗规则中的至少一种。
可选地,所述采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗之后,还包括:
确定数据清洗结果;
若所述数据清洗结果包含未能修复的脏数据,则输出对应的数据流并将所述数据流按照命中的数据清洗规则存储于预设目录中。
可选地,所述采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗,包括:
采用所述最优计算资源信息申请集群资源后,采用反射机制实例化所述数据清洗策略中的各个数据清洗规则;
按照所述集群资源和所述实例化后的数据清洗规则对所述业务数据进行清洗。
本发明实施例还公开了一种数据清洗装置,所述装置包括:
获取模块,用于在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息;
第一确定模块,用于根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息;
第二确定模块,用于根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息;
清洗模块,用于采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗。
可选地,所述业务数据的数据信息包括所述业务数据的数据量和数据记录数目,所述第二计算资源信息包括所述数据处理平台中的进程资源信息,所述第一确定模块,包括:
计算子模块,用于根据所述业务数据的数据量和数据记录数目,计算清洗所述业务数据,所述数据处理平台所需分配的所述进程资源信息。
可选地,所述数据清洗策略包括多个数据清洗规则,所述第二确定模块,包括:
第一确定子模块,用于若所述数据清洗策略中包含的数据清洗规则的数量大于预设的数量阈值,且所述数据清洗策略中包含预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最大计算资源信息,并将所述最大计算资源信息确定为所述最优计算资源信息;
第二确定子模块,用于若所述数据清洗策略中包含的数据清洗规则的数量不大于所述预设的数量阈值,且所述数据清洗策略中不包含所述预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最小计算资源信息,并将所述最小计算资源信息确定为所述最优计算资源信息。
可选地,所述清洗模块,包括:
第三确定子模块,用于采用所述最优计算资源信息申请集群资源后,确定所述多个数据清洗规则的调用顺序;
第一清洗子模块,用于按照所述集群资源和所述调用顺序依次对所述业务数据进行清洗。
可选地,所述数据清洗规则包括行清洗规则,列清洗规则和主键清洗规则中的至少一种。
可选地,所述装置还包括:
第三确定模块,用于确定数据清洗结果;
输出模块,用于若所述数据清洗结果包含未能修复的脏数据,则输出对应的数据流并将所述数据流按照命中的数据清洗规则存储于预设目录中。
可选地,所述清洗模块,包括:
实例化子模块,用于采用所述最优计算资源信息申请集群资源后,采用反射机制实例化所述数据清洗策略中的各个数据清洗规则;
第二清洗子模块,用于按照所述集群资源和所述实例化后的数据清洗规则对所述业务数据进行清洗。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一种数据清洗方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种数据清洗方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,用户可以自定义配置数据清洗策略,且可以依据该数据清洗策略确定平台进行数据清洗所需分配的最优计算资源信息。通过采用上述方法,提供一种可配置、自适应的数据清洗方法,可配置化的数据清洗策略使得该数据清洗方法可普遍适用于各类数据的清洗,自适应的计算资源分配机制,极大地降低人工维护成本,还可以有效避免由于开发人员差异导致的计算资源预估失误问题。
附图说明
图1是本发明实施例提供的一种数据清洗方法的步骤流程图;
图2是本发明实施例提供的另一种数据清洗方法的步骤流程图;
图3是本发明实施例的一种数据清洗的流程图;
图4是本发明实施例的一种数据清洗方法的流程图;
图5是本发明实施例提供的一种数据清洗装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
传统的数据清洗是通过数据库技术或清洗工具,通过设定清洗指标进行清洗的。但这种清洗方式依赖于清洗工具或数据库技术,当需要对海量数据进行数据清洗时,则会导致耗时过长,并且可能会影响正常数据库的使用。传统的数据清洗方式对不同数据需要定制化开发相应的清洗程序,通用性较差,也不适用于Hadoop(Hadoop Distributed FileSystem)大数据生态圈。
本发明实施例的核心构思之一在于,用户可以自定义配置数据清洗策略,且可以依据该数据清洗策略确定平台进行数据清洗所需分配的最优计算资源信息。通过采用上述方法,提供一种可配置、自适应的数据清洗方法,可配置化的数据清洗策略使得该数据清洗方法可普遍适用于各类数据的清洗,自适应的计算资源分配机制,极大地降低人工维护成本,还可以有效避免由于开发人员差异导致的计算资源预估失误问题。
参照图1,示出了本发明实施例提供的一种数据清洗方法的步骤流程图,具体可以包括如下步骤:
步骤101,在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息。
在本发明实施例中,需要进行清洗的业务数据可以包括重复数据、不完整数据和错误数据等异常数据,异常数据包括主键重复、字段异常、类型异常、码值异常等各种异常类型。
数据清洗可以是在数据处理平台上进行的,其中,数据处理平台可以是Hadoop平台,Hadoop是一款开源的大数据通用处理平台。在数据处理平台执行数据清洗作业之前,用户可以在该数据处理平台上输入针对业务数据的数据清洗策略,用户还可以根据数据处理平台上的当前可用集群资源,为该清洗业务数据的作业任务分配相应的计算资源,即分配第一计算资源信息。获取业务数据的数据信息,用户输入的数据清洗策略和用户分配的第一计算资源信息。
步骤102,根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息。
在本发明实施例中,可以根据业务数据的数据信息确定清洗业务数据所需分配的第二计算资源信息。
步骤103,根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息。
在本发明实施例中,可以依据数据清洗策略,从第一计算资源信息和第二计算资源信息中确定最优计算资源信息。由于第一计算资源信息是用户根据当前可用集群资源确定的,而第二计算资源是根据业务数据的数据信息确定,根据数据清洗策略的不同,可以从中选取最优的计算资源信息。
步骤104,采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗。
在本发明实施例中,在根据数据清洗策略确定最优计算资源信息后,即可以采用该最优计算资源信息申请数据处理平台上的集群资源,基于该集群资源和数据清洗策略进行业务数据的数据清洗。
综上,在本发明实施例中,用户可以自定义配置数据清洗策略,且可以依据该数据清洗策略确定平台进行数据清洗所需分配的最优计算资源信息。通过采用上述方法,提供一种可配置、自适应的数据清洗方法,可配置化的数据清洗策略使得该数据清洗方法可普遍适用于各类数据的清洗,自适应的计算资源分配机制,极大地降低人工维护成本,还可以有效避免由于开发人员差异导致的计算资源预估失误问题。
参照图2,示出了本发明实施例提供的另一种数据清洗方法的步骤流程图,具体可以包括如下步骤:
步骤201,在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息。
在本发明实施例中,需要进行清洗的业务数据可以包括重复数据、不完整数据和错误数据等异常数据,异常数据包括主键重复、字段异常、类型异常、码值异常等各种异常类型。
在数据处理平台进行数据清洗。其中,数据处理平台可以是Hadoop平台,也可以是Spark平台,在Hadoop大数据处理平台上也可以采用Spark计算引擎对业务数据进行数据清洗。Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。
在数据处理平台对业务数据进行清洗之前,可以获取业务数据的数据信息,用户输入的数据清洗策略和用户分配的第一计算资源信息。
其中,业务数据的数据信息包括业务数据的数据量和数据记录数目,第二计算资源信息包括数据处理平台中的进程资源信息,根据业务数据的数量信息确定清洗业务数据所需分配的第二计算资源信息,具体的,可以执行以下步骤:
步骤202,根据所述业务数据的数据量和数据记录数目,计算清洗所述业务数据,所述数据处理平台所需分配的所述进程资源信息。
在本发明实施例中,可以依据业务数据的数据量和数据记录数目,计算清洗业务数据,数据处理平台需要分配的进程资源信息。在一种示例中,数据处理平台可以是Spark平台,该平台中可配置的进程资源信息包括Executor进程的数量信息,Executor进程的内存信息,Executor进程的核心数目信息,Driver进程的内存信息和Executor进程的堆外内存信息。举例而言,假设业务数据的数据量为M GB,包含的数据记录数为N万条,则
executor_num=min(40,max(M/5,N/500));
executor_memory=min(12,max(M/5,N/500));
executor_cores=min(5,max(M/20,N/10000);
executor_memoryOverhead=min(4,executor_memory/2);
driver_memory=min(8,executor_memory)。
步骤203,根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息。
在本发明实施例中,可以依据数据清洗策略,从第一计算资源信息和第二计算资源信息中确定最优计算资源信息。
用户可以在数据处理平台针对不同的业务数据的数据结构,配置不同的数据清洗策略。其中,数据清洗策略包括多个数据清洗规则,数据清洗规则包括行清洗规则,列清洗规则和主键清洗规则中的至少一种。行清洗规则包括列数异常过滤,特征字符纠正和特殊字符过滤等;列清洗规则包括码值映射过滤,空字段过滤,字段类型纠正,主键非空过滤和字段类型过滤等;主键清洗规则包括主键重复过滤等。
针对步骤203,可以执行以下子步骤:
子步骤S11,若所述数据清洗策略中包含的数据清洗规则的数量大于预设的数量阈值,且所述数据清洗策略中包含预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最大计算资源信息,并将所述最大计算资源信息确定为所述最优计算资源信息。
子步骤S12,若所述数据清洗策略中包含的数据清洗规则的数量不大于所述预设的数量阈值,且所述数据清洗策略中不包含所述预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最小计算资源信息,并将所述最小计算资源信息确定为所述最优计算资源信息。
在本发明实施例中,若数据清洗策略中包含的数据清洗规则的数量大于预设的数量阈值,且该数据清洗策略中存在预设的数据清洗规则,则可以从第一计算资源信息和第二计算资源信息中选取较大的计算资源信息确定为最优计算资源信息。若数据清洗策略中包含的数据清洗规则的数量小于预设的数量阈值,且该数据清洗策略中不存在预设的数据清洗规则,则可以从第一计算资源信息和第二计算资源信息中选取较少的计算资源信息确定为最优计算资源信息。其中,预设的数据清洗规则可以为主键清洗规则中的主键重复过滤。即当数据清洗策略中包含的数据清洗规则较少,且没有主键重复过滤等复杂的数据清洗规则时,可以采用相对较少的计算资源进行数据清洗,可以避免计算资源的浪费。
步骤204,采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗。
在本发明实施例中,在确定最优计算资源信息后,即可以根据该最优计算资源信息申请集群资源,并按照该集群资源和数据清洗策略在数据处理平台对业务数据进行数据清洗。
针对步骤204,可以执行以下子步骤:
子步骤S21,采用所述最优计算资源信息申请集群资源后,确定所述多个数据清洗规则的调用顺序。
子步骤S22,按照所述集群资源和所述调用顺序依次对所述业务数据进行清洗。
在本发明实施例中,用户配置数据清洗策略时,可以配置数据清洗规则在数据清洗过程中的调用顺序,当进行数据清洗时,则可以按照该调用顺序对业务数据进行清洗。在一种示例中,可以通过反射机制动态调用数据清洗策略中的各个数据清洗规则,依次对业务数据进行行、列、主键的过滤清洗。采用反射机制可以提高数据清洗的灵活性和扩展性,提高平台的适应能力。
此外,在对业务数据进行清洗的过程中,假设是按照行、列、主键的顺序进行清洗的,若进行行清洗后,行校验不通过,则将该业务数据发送到相应的脏数据存储区域,不进行后续的列和主键的数据清洗工作;若进行列清洗后,列校验不通过,则忽略后续的主键的数据清洗工作,直接将该业务数据发送到相应的脏数据存储区域;若进行列清洗的过程中,对其中一种列校验项不通过,则也是忽略后续列清洗工作,直接将该业务数据发送到相应的脏数据存储区域。采用此种方法,可以有效提升清洗效率,避免数据重复处理。
针对步骤204,还可以执行以下子步骤:
子步骤S31,采用所述最优计算资源信息申请集群资源后,采用反射机制实例化所述数据清洗策略中的各个数据清洗规则。
子步骤S32,按照所述集群资源和所述实例化后的数据清洗规则对所述业务数据进行清洗。
在本发明实施例中,可以采用反射机制实例化数据清洗策略中的各个数据清洗规则。
此外,在对业务数据进行清洗之后,还可以执行以下步骤:
确定数据清洗结果;若所述数据清洗结果包含未能修复的脏数据,则输出对应的数据流并将所述数据流按照命中的数据清洗规则存储于预设目录中。
在本发明实施例中,数据清洗只可以修复部分的业务数据,对于部分难以修复的业务数据,例如数据字段超长,字段类型错误等,可以输出对应的数据流,并在数据处理平台按照命中的数据清洗规则存储于预设的目录中,后续方便人工处理。此外,还可对数据清洗结果进行分类统计,如统计总数据量、正常数据量和各类脏数据量等,方便后续使用。
参照图3所示,为本发明实施例的一种数据清洗的流程图,该流程可以包括:
1、加载需要进行数据清洗的业务数据;
2、加载配置文件,其中,配置文件可以是各种Class对象,Class对象中含有最优计算资源信息,用户配置的数据清洗策略以及其他执行数据清洗作业需要的配置信息;
3、采用反射机制调用并实例化配置文件中的Process数组对象,其中,Process数组对象中包含各类数据清洗规则生成的对象,对应数据为Spark加载的RDD(ResilientDistributed Dataset)数据。所有的数据清洗规则类都继承了Process类。采用实例化后的数据清洗规则进行数据清洗;
4、可以将数据清洗结果分为正常数据和脏数据,其中,脏数据根据其命中的数据清洗规则分别进行存储。
为了使本领域技术人员能够更好地理解本发明实施例步骤201至步骤204,下面通过一个例子加以说明:
参照图4所示,为本发明实施例的一种数据清洗方法的流程图,应用于数据处理平台,该流程可以包括:
1、获取用户输入的数据清洗的相关配置信息,包括业务数据的输入/输出路径,文件格式(字符集、分隔符),数据字段信息(字段类型、字段长度等)、数据清洗策略(行、列、主键等),计算资源信息(Spark Executor/Driver内存、CPU等);获取原始业务数据的数据量和数据记录数目,并根据业务数据的数据量和数据记录数目预估执行当前的数据清洗任务所需的计算资源,根据数据清洗策略,从预配置的计算资源和预估的计算资源中确定更合理的最优计算资源,进而确定执行数据清洗任务的最终配置信息。
2、数据处理平台中包括数据清洗程序的主体管理进程,负责数据清洗作业的提交、清洗和清洗结果汇总等工作。根据最优计算资源,以及预配置的数据清洗策略等在数据处理平台申请集群资源,并提交数据清洗作业,具体的数据清洗过程在数据清洗主体模块中执行,此外,数据处理平台中还包括列清洗模块、行清洗模块和主键清洗模块。
3、在清洗结果输出模块中输出对应的数据清洗结果。
综上,在本发明实施例中,用户可以自定义配置数据清洗策略,且可以依据该数据清洗策略确定平台进行数据清洗所需分配的最优计算资源信息。通过采用上述方法,提供一种可配置、自适应的数据清洗方法,实现数据清洗过程的模块化和标准化,可配置化的数据清洗策略使得该数据清洗方法可普遍适用于各类数据的清洗,自适应的计算资源分配机制,极大地降低人工维护成本,还可以有效避免由于开发人员差异导致的计算资源预估失误问题。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例提供的一种数据清洗装置的结构框图,具体可以包括如下模块:
获取模块501,用于在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息;
第一确定模块502,用于根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息;
第二确定模块503,用于根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息;
清洗模块504,用于采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗。
在本发明实施例中,所述业务数据的数据信息包括所述业务数据的数据量和数据记录数目,所述第二计算资源信息包括所述数据处理平台中的进程资源信息,所述第一确定模块,包括:
计算子模块,用于根据所述业务数据的数据量和数据记录数目,计算清洗所述业务数据,所述数据处理平台所需分配的所述进程资源信息。
在本发明实施例中,所述数据清洗策略包括多个数据清洗规则,所述第二确定模块,包括:
第一确定子模块,用于若所述数据清洗策略中包含的数据清洗规则的数量大于预设的数量阈值,且所述数据清洗策略中包含预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最大计算资源信息,并将所述最大计算资源信息确定为所述最优计算资源信息;
第二确定子模块,用于若所述数据清洗策略中包含的数据清洗规则的数量不大于所述预设的数量阈值,且所述数据清洗策略中不包含所述预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最小计算资源信息,并将所述最小计算资源信息确定为所述最优计算资源信息。
在本发明实施例中,所述清洗模块,包括:
第三确定子模块,用于采用所述最优计算资源信息申请集群资源后,确定所述多个数据清洗规则的调用顺序;
第一清洗子模块,用于按照所述集群资源和所述调用顺序依次对所述业务数据进行清洗。
在本发明实施例中,所述数据清洗规则包括行清洗规则,列清洗规则和主键清洗规则中的至少一种。
在本发明实施例中,所述装置还包括:
第三确定模块,用于确定数据清洗结果;
输出模块,用于若所述数据清洗结果包含未能修复的脏数据,则输出对应的数据流并将所述数据流按照命中的数据清洗规则存储于预设目录中。
在本发明实施例中,所述清洗模块,包括:
实例化子模块,用于采用所述最优计算资源信息申请集群资源后,采用反射机制实例化所述数据清洗策略中的各个数据清洗规则;
第二清洗子模块,用于按照所述集群资源和所述实例化后的数据清洗规则对所述业务数据进行清洗。
综上,在本发明实施例中,用户可以自定义配置数据清洗策略,且可以依据该数据清洗策略确定平台进行数据清洗所需分配的最优计算资源信息。通过采用上述方法,提供一种可配置、自适应的数据清洗方法,可配置化的数据清洗策略使得该数据清洗方法可普遍适用于各类数据的清洗,自适应的计算资源分配机制,极大地降低人工维护成本,还可以有效避免由于开发人员差异导致的计算资源预估失误问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述一种数据清洗方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述一种数据清洗方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据清洗方法和一种数据清洗装置、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种数据清洗方法,其特征在于,所述方法包括:
在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息;
根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息;
根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息;
采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗;
所述数据清洗策略包括多个数据清洗规则,所述根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息,包括:
若所述数据清洗策略中包含的数据清洗规则的数量大于预设的数量阈值,且所述数据清洗策略中包含预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最大计算资源信息,并将所述最大计算资源信息确定为所述最优计算资源信息;
若所述数据清洗策略中包含的数据清洗规则的数量不大于所述预设的数量阈值,且所述数据清洗策略中不包含所述预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最小计算资源信息,并将所述最小计算资源信息确定为所述最优计算资源信息。
2.根据权利要求1所述的方法,其特征在于,所述业务数据的数据信息包括所述业务数据的数据量和数据记录数目,所述第二计算资源信息包括所述数据处理平台中的进程资源信息,所述根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息,包括:
根据所述业务数据的数据量和数据记录数目,计算清洗所述业务数据,所述数据处理平台所需分配的所述进程资源信息。
3.根据权利要求2所述的方法,其特征在于,所述采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗,包括:
采用所述最优计算资源信息申请集群资源后,确定所述多个数据清洗规则的调用顺序;
按照所述集群资源和所述调用顺序依次对所述业务数据进行清洗。
4.根据权利要求2所述的方法,其特征在于,所述数据清洗规则包括行清洗规则,列清洗规则和主键清洗规则中的至少一种。
5.根据权利要求2所述的方法,其特征在于,所述采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗之后,还包括:
确定数据清洗结果;
若所述数据清洗结果包含未能修复的脏数据,则输出对应的数据流并将所述数据流按照命中的数据清洗规则存储于预设目录中。
6.根据权利要求2所述的方法,其特征在于,所述采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗,包括:
采用所述最优计算资源信息申请集群资源后,采用反射机制实例化所述数据清洗策略中的各个数据清洗规则;
按照所述集群资源和所述实例化后的数据清洗规则对所述业务数据进行清洗。
7.一种数据清洗装置,其特征在于,所述装置包括:
获取模块,用于在数据处理平台对业务数据进行清洗之前,获取所述业务数据的数据信息,获取用户输入的针对所述业务数据的数据清洗策略,以及获取用户根据当前可用集群资源分配的用于清洗所述业务数据的第一计算资源信息;
第一确定模块,用于根据所述业务数据的数据信息确定清洗所述业务数据所需分配的第二计算资源信息;
第二确定模块,用于根据所述数据清洗策略,从所述第一计算资源信息和所述第二计算资源信息中确定最优计算资源信息;
清洗模块,用于采用所述最优计算资源信息申请集群资源后,按照所述集群资源和所述数据清洗策略对所述业务数据进行清洗;
所述数据清洗策略包括多个数据清洗规则,所述第二确定模块,包括:
第一确定子模块,用于若所述数据清洗策略中包含的数据清洗规则的数量大于预设的数量阈值,且所述数据清洗策略中包含预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最大计算资源信息,并将所述最大计算资源信息确定为所述最优计算资源信息;
第二确定子模块,用于若所述数据清洗策略中包含的数据清洗规则的数量不大于所述预设的数量阈值,且所述数据清洗策略中不包含所述预设的数据清洗规则,则从所述第一计算资源信息和所述第二计算资源信息中确定最小计算资源信息,并将所述最小计算资源信息确定为所述最优计算资源信息。
8.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-6中任一项所述的一种数据清洗方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的一种数据清洗方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713685.4A CN113535696B (zh) | 2021-06-25 | 2021-06-25 | 一种数据清洗方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713685.4A CN113535696B (zh) | 2021-06-25 | 2021-06-25 | 一种数据清洗方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535696A CN113535696A (zh) | 2021-10-22 |
CN113535696B true CN113535696B (zh) | 2024-03-15 |
Family
ID=78096813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110713685.4A Active CN113535696B (zh) | 2021-06-25 | 2021-06-25 | 一种数据清洗方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535696B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107567696A (zh) * | 2015-05-01 | 2018-01-09 | 亚马逊科技公司 | 计算集群内的资源实例群组的自动扩展 |
CN108446362A (zh) * | 2018-03-13 | 2018-08-24 | 平安普惠企业管理有限公司 | 数据清洗处理方法、装置、计算机设备和存储介质 |
US10452441B1 (en) * | 2018-10-15 | 2019-10-22 | Accenture Global Solutions Limited | Determining an allocation of computing resources for a job |
CN112287178A (zh) * | 2020-10-30 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 数据清洗方法、装置、电子设备及存储介质 |
CN112364001A (zh) * | 2020-11-03 | 2021-02-12 | 北京红山信息科技研究院有限公司 | 多维空间大数据的清洗方法、装置、计算机设备及介质 |
US10949406B1 (en) * | 2019-03-25 | 2021-03-16 | Amazon Technologies, Inc. | Compliance lifecycle management for cloud-based resources |
-
2021
- 2021-06-25 CN CN202110713685.4A patent/CN113535696B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107567696A (zh) * | 2015-05-01 | 2018-01-09 | 亚马逊科技公司 | 计算集群内的资源实例群组的自动扩展 |
CN108446362A (zh) * | 2018-03-13 | 2018-08-24 | 平安普惠企业管理有限公司 | 数据清洗处理方法、装置、计算机设备和存储介质 |
US10452441B1 (en) * | 2018-10-15 | 2019-10-22 | Accenture Global Solutions Limited | Determining an allocation of computing resources for a job |
US10949406B1 (en) * | 2019-03-25 | 2021-03-16 | Amazon Technologies, Inc. | Compliance lifecycle management for cloud-based resources |
CN112287178A (zh) * | 2020-10-30 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 数据清洗方法、装置、电子设备及存储介质 |
CN112364001A (zh) * | 2020-11-03 | 2021-02-12 | 北京红山信息科技研究院有限公司 | 多维空间大数据的清洗方法、装置、计算机设备及介质 |
Non-Patent Citations (2)
Title |
---|
基于云计算的海量大数据智能清洗系统设计;黄正鹏;现代电子技术(第03期);116-120 * |
面向多用户环境的MapReduce集群调度算法研究;陈重韬;;高技术通讯(第04期);5-12 * |
Also Published As
Publication number | Publication date |
---|---|
CN113535696A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN106682097B (zh) | 一种处理日志数据的方法和装置 | |
US11269718B1 (en) | Root cause detection and corrective action diagnosis system | |
JP6998976B2 (ja) | クエリ処理方法、クエリ処理システム、サーバ及びコンピュータ可読媒体 | |
EP3418910A1 (en) | Big data-based method and device for calculating relationship between development objects | |
EP3616066B1 (en) | Human-readable, language-independent stack trace summary generation | |
JP7254975B2 (ja) | 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング | |
CN109885452A (zh) | 性能监控方法、装置及终端设备 | |
CN113626241B (zh) | 应用程序的异常处理方法、装置、设备及存储介质 | |
US8195645B2 (en) | Optimized bulk computations in data warehouse environments | |
CN115147092A (zh) | 资源审批方法、随机森林模型的训练方法及装置 | |
WO2023003640A1 (en) | Automated cross-service diagnostics for large scale infrastructure cloud service providers | |
Poghosyan et al. | Managing cloud infrastructures by a multi-layer data analytics | |
CN113535696B (zh) | 一种数据清洗方法、装置、电子设备和介质 | |
AU2012334801A1 (en) | A method of analysing data | |
CN113052696A (zh) | 金融业务任务处理方法、装置、计算机设备和存储介质 | |
Madapudi et al. | Change requests artifacts to assess impact on structural design of SDLC phases | |
CN112949243B (zh) | 参数配置方法、装置、计算机设备及存储介质 | |
CN113608847A (zh) | 任务处理方法、装置、设备及存储介质 | |
Shao et al. | A scheduling algorithm for applications in a cloud computing system with communication changes | |
US20130173777A1 (en) | Mining Execution Pattern For System Performance Diagnostics | |
CN108319609A (zh) | Etl数据处理方法及系统、数据清洗方法及装置 | |
CN112685157A (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN112667398B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
Nett et al. | How to commit concurrent, non-isolated computations |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |