CN113360270A - 一种数据清洗任务处理方法及装置 - Google Patents
一种数据清洗任务处理方法及装置 Download PDFInfo
- Publication number
- CN113360270A CN113360270A CN202110736384.3A CN202110736384A CN113360270A CN 113360270 A CN113360270 A CN 113360270A CN 202110736384 A CN202110736384 A CN 202110736384A CN 113360270 A CN113360270 A CN 113360270A
- Authority
- CN
- China
- Prior art keywords
- task
- data cleaning
- data
- time
- estimated
- 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.)
- Granted
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 476
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000003860 storage Methods 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims abstract description 11
- 238000010801 machine learning Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 14
- 238000012937 correction Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012417 linear regression Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种数据清洗任务处理方法、装置、电子设备及机器可读存储介质,所述方法包括:步骤102:基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,所述预估模型包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;所述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;步骤104:响应于所述数据清洗任务被执行,确定所述数据清洗任务的当前运行时长是否超过所述数据清洗任务的预估任务时长;步骤106:如果否,则继续执行步骤104,直至所述数据清洗任务执行完毕。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据清洗任务处理方法、装置、电子设备及机器可读存储介质。
背景技术
数据清洗,是对待清洗数据进行重新审查和校验的过程,其目的在于删除待清洗数据中的重复信息、纠正待清洗数据中存在的错误、以及提供数据一致性。
在实际应用中,进行数据清洗时,可以先通过数据清洗平台创建针对待清洗数据的数据清洗任务,为该数据清洗任务配置对应的计算资源,如:数据清洗任务的运行环境配置、可用计算资源大小等,还可以配置与该数据清洗任务对应的一个或多个数据清洗规则;进一步地,响应于已创建的数据清洗任务被执行,与该数据清洗任务执行相关的计算引擎可以针对待清洗数据进行数据清洗。
发明内容
本申请提供一种数据清洗任务处理方法,所述方法包括:
步骤102:基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,所述预估模型包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;所述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;
步骤104:响应于所述数据清洗任务被执行,确定所述数据清洗任务的当前运行时长是否超过所述数据清洗任务的预估任务时长;
步骤106:如果所述数据清洗任务的当前运行时长未超过所述数据清洗任务的预估任务时长,则继续执行所述步骤104,直至所述数据清洗任务执行完毕。
可选的,所述方法还包括:
如果所述数据清洗任务的当前运行时长已超过所述数据清洗任务的预估任务时长,则确定所述数据清洗任务运行异常。
可选的,所述方法还包括:
针对若干历史数据清洗任务的预估任务时长和实际任务时长进行数据拟合,得到预估任务时长和实际任务时长之间的修正函数;
所述基于预估模型,获取待执行的数据清洗任务的预估任务时长,包括:
基于所述预估模型,获取待执行的数据清洗任务的初步预估任务时长;
基于所述修正函数,对所述初步预估任务时长进行修正,并将修正后的初步预估运行时长确定为所述数据清洗任务的预估任务时长。
可选的,所述基于所述预估模型,获取待执行的数据清洗任务的初步预估任务时长,包括:
将与待执行的数据清洗任务执行相关的关键属性输入所述预估模型,得到所述预估模型输出的所述数据清洗任务的初步预估任务时长;其中,与数据清洗任务执行相关的关键属性,包括为数据清洗任务分配的计算资源对应的资源信息。
可选的,所述为数据清洗任务分配的计算资源对应的资源信息,包括以下示出的一个或者多个的组合:
为数据清洗任务分配的内存资源的大小;
为数据清洗任务分配的CPU处理资源的大小;
数据清洗任务对应的运行环境的磁盘类型。
可选的,所述与数据清洗任务执行相关的关键属性,还包括以下示出的一个或者多个的组合:
与数据清洗任务对应的数据清洗规则的规则类型;
与待清洗数据对应的数值类型;
待清洗数据的数据量的大小。
可选的,响应于所述数据清洗任务被执行,确定所述数据清洗任务的当前运行时长是否超过所述数据清洗任务的预估任务时长之前,还包括:
预测所述数据清洗任务的最佳执行时刻;
基于预测出的最佳执行时刻,控制所述数据清洗任务的执行。
可选的,所述预测所述数据清洗任务的最佳执行时刻,包括:
基于所述预估模型,获取计算引擎上待执行的其他数据清洗任务的预估任务时长,并且针对所述计算引擎上待执行的每个数据清洗任务,基于初始执行时刻和预估任务时长,计算出对应的结束时刻;
确定所述数据清洗任务的初始执行时刻至所述数据清洗任务的结束时刻之间,是否存在其他数据清洗任务的结束时刻;
如果有,则将所述其他数据清洗任务的结束时刻作为所述数据清洗任务的新的执行时刻,基于所述其他数据清洗任务执行完毕后的计算资源,重新获取所述数据清洗任务的预估任务时长,并基于所述数据清洗任务的新的执行时刻以及重新获取的所述数据清洗任务的预估任务时长,计算出所述数据清洗任务的新的结束时刻;
如果所述数据清洗任务的新的结束时刻早于所述数据清洗任务的结束时刻,则将所述数据清洗任务的新的执行时刻确定为所述数据清洗任务的最佳执行时刻。
可选的,所述方法还包括:
根据所述计算引擎上待执行的各个数据清洗任务的预估任务时长,将所述计算引擎的运行时段划分为多个业务时段;不同的业务时段中,在所述计算引擎上执行的数据清洗任务的数量不同;
基于为各个数据清洗任务预设的优先级和所述计算引擎对应的各个业务时段,将各个数据清洗任务分别在各个业务时段之间进行调度。
本申请还提供一种数据清洗任务处理装置,所述装置包括:
预估单元,用于基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,所述预估模型包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;所述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;
确定单元,用于响应于所述数据清洗任务被执行,确定所述数据清洗任务的当前运行时长是否超过所述数据清洗任务的预估任务时长;
处理单元,用于如果所述数据清洗任务的当前运行时长未超过所述数据清洗任务的预估任务时长,则继续调用所述确定单元,直至所述数据清洗任务执行完毕。
可选的,所述处理单元,还用于:
如果所述数据清洗任务的当前运行时长已超过所述数据清洗任务的预估任务时长,则确定所述数据清洗任务运行异常。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,一方面,在针对从大数据平台获取到的待清洗数据进行数据清洗之前,可以基于预估模型,获取待执行的数据清洗任务的预估任务时长,作为后续数据清洗平台判断数据清洗任务是否运行正常的基础;另一方面,响应于已创建的数据清洗任务被执行,通过确定上述数据清洗任务的当前运行时长是否超过预估任务时长,直至上述数据清洗任务执行完毕,如果未超过,则可以认为上述数据清洗任务仍在正常运行且未执行完毕,从而在大数据清洗的场景中,数据清洗平台能够及时地评估数据清洗任务是否运行正常,避免出现空等时间过长的情况。
附图说明
图1是一示例性的实施例示出的一种数据清洗任务处理方法的流程图;
图2是一示例性的实施例示出的一种数据清洗任务处理装置所在电子设备的硬件结构图;
图3是一示例性的实施例示出的一种数据清洗任务处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的数据清洗任务的相关技术,进行简要说明。
由于大数据平台或数据仓库中存储的海量数据,通常是从多个业务系统中获取的,其中难免会存在部分错误的、或有冲突的数据,这类数据被称为“脏数据”;因此,在数据分析的过程中,为了保证数据质量,需要对数据进行数据清洗,也就是“洗掉”其中的脏数据。
在实际应用中,进行数据清洗时,通常可以先通过数据清洗平台创建针对待清洗数据的数据清洗任务,再由对应的计算引擎针对待清洗数据进行数据清洗。具体地,在通过数据清洗平台创建数据清洗任务时,可以为该数据清洗任务配置对应的计算资源,还可以配置与该数据清洗任务对应的一个或多个数据清洗规则;进一步地,响应于已创建的数据清洗任务被启动,与该数据清洗任务执行相关的计算引擎可以基于上述预先配置的计算资源和数据清洗规则,执行该数据清洗任务;计算引擎针对待清洗数据完成数据清洗之后,数据清洗平台可以得知对应的数据清洗任务已结束。
在大数据清洗的场景中,一方面,从大数据平台获取到的数据所涵盖的数值类型比较复杂,其中可以包括存储在关系数据库以及非关系数据库中的数据,相较于针对单一的结构化数据进行数据清洗,针对从大数据平台获取到的数据进行数据清洗时速度较慢;另一方面,由于待清洗数据的数据量较大,可以达到百万级以上,因此,对应的数据清洗任务的实际运行时长通常较长。
目前,数据清洗平台通常只能检测到数据清洗任务是否正在运行,而无法感知数据清洗任务的具体运行情况,也即,数据清洗平台只能得知某个已创建的数据清洗任务是否已开始执行、或者是否已结束;如果计算引擎出现问题导致某个正在执行的数据清洗任务挂住,则数据清洗平台无法判断该数据清洗任务究竟是运行正常且未执行完毕,还是出现了运行异常,也就无法针对该数据清洗任务进一步地做出处理。
由此可见,在以上示出的实施例中,当数据清洗平台检测到某个数据清洗任务的运行时长较长时,无法及时地评估该数据清洗任务是否运行正常,可能导致空等,甚至可能导致计算引擎上其他待执行的数据清洗任务也无法正常被执行。
有鉴于此,本说明书旨在提出一种基于预估模型获取待执行的数据清洗任务的预估任务时长,并通过确定数据清洗任务的当前运行时长是否超过该数据清洗任务的预估任务时长,来处理数据清洗任务的技术方案。
在实现时,数据清洗平台可以基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,上述预估模型包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;上述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;
进一步地,响应于上述数据清洗任务被执行,可以确定上述数据清洗任务的当前运行时长是否超过上述数据清洗任务的预估任务时长;如果否,则可以继续执行此步骤,直至上述数据清洗任务执行完毕。
由此可见,在本说明书中的技术方案中,一方面,在针对从大数据平台获取到的待清洗数据进行数据清洗之前,可以基于预估模型,获取待执行的数据清洗任务的预估任务时长,作为后续数据清洗平台判断数据清洗任务是否运行正常的基础;另一方面,响应于已创建的数据清洗任务被执行,通过确定上述数据清洗任务的当前运行时长是否超过预估任务时长,直至上述数据清洗任务执行完毕,如果未超过,则可以认为上述数据清洗任务仍在正常运行且未执行完毕,从而在大数据清洗的场景中,数据清洗平台能够及时地评估数据清洗任务是否运行正常,避免出现空等时间过长的情况。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面先简要介绍一下构建与训练上述预估模型的过程。
在构建上述预估模型时,可以先分析对数据清洗任务的实际任务时长存在影响的属性。
具体地,可以基于标准运行环境,选取标准数据表,针对从标准数据表中获取的数据创建若干数据清洗任务,为每个数据清洗任务分别配置单个数据清洗规则,再分别执行上述创建的若干数据清洗任务,并将对应的实际任务时长记录到一张表中,请参见表1所示例;其中,关于上述标准运行环境和标准数据表,本领域技术人员可以根据需求,灵活设置CPU型号、磁盘型号、内存频率、字段长度、数据量大小等,本说明书不做特别限制。
表1
在如表1所示的任务时长表中,每行表项可以对应于上述创建的一个数据清洗任务,用于记录该数据清洗任务的相关配置、以及基于标准运行环境执行时所耗费的实际任务时长。通过对比分析,可以得出与数据清洗任务对应的数据清洗规则的规则类型、为数据清洗任务分配的CPU处理资源的大小、为数据清洗任务分配的内存资源的大小、数据清洗任务对应的运行环境的磁盘类型、待清洗数据的数值类型、以及待清洗数据的数据量的大小,都是对数据清洗任务的实际任务时长存在影响的属性,也即,可以认为上述属性均为与数据清洗任务执行相关的关键属性。
需要说明的是,在以上实施例中,仅仅示例性的示出了六个对数据清洗任务的实际任务时长存在明显影响的属性,并不对本说明书做出特殊限制;在实际应用中,本领域技术人员也可以利用类似的实现方式,分析出对数据清洗任务的实际任务时长存在影响的其他属性,如待清洗数据在不同计算引擎上的分布差异、待清洗数据的字段长度、不同计算引擎的硬件差异等,在此不再一一详细描述。
在分析得出对数据清洗任务的实际任务时长存在影响的属性之后,进一步地,可以先通过数学表达式,初步体现上述关键属性之间的关系,再进一步地结合其他影响因素,对上述数学表达式进行调整,以构建出上述预估模型。其中,上述预估模型通常可以采用线性回归模型;线性回归模型是一种可以用于体现两种或两种以上的变量之间相互依赖的定量关系的机器学习模型,因变量和自变量之间互为线性关系。
接着以上示例继续举例,假设一个待执行的数据清洗任务的数据清洗规则包括去空规则和去重规则,为其分配的CPU处理资源为1C,为其分配的内存资源为1G,磁盘类型为SATA,与待清洗数据对应的数值类型为String,数据量为100万,如表1所示,与该数据清洗任务对应的预估任务时长可以初步地表示为(3.5min+2.5min)*100。
在实际应用中,对于每个数据清洗任务而言,只需执行一次数据准备,也即,每个数据清洗任务被执行时,无论需要利用几个数据清洗规则对待清洗数据进行数据清洗,从与大数据平台对应的存储空间读取待清洗数据、并将待清洗数据写入与数据清洗平台对应的存储空间中的数据准备操作仅需执行一次。由此可见,相较于以上示出的仅为一个数据清洗任务配置单个数据清洗规则的实施例,当一个数据清洗任务对应的数据清洗规则中包括多个数据清洗规则时,可以避免重复执行多次数据准备,从而可以节约数据准备时长,因此,该数据清洗任务的实际任务时长,小于其中每个数据清洗规则对应的任务时长的累加之和。
接着以上示例继续举例,假设单位数据(即数据量为1万)的数据准备时长为t0,则与上述数据清洗任务对应的预估任务时长可以进一步地表示为(3.5min+2.5min-t0)*100。
另外,在实际应用中,不同的生产环境对应于不同的计算引擎,而不同的计算引擎之间硬件计算能力的差异,可能会导致相同配置的数据清洗任务的实际任务时长存在差异;因此,还可以基于实际执行数据清洗任务的计算引擎与上述标准运行环境之间的差异,得出不同计算引擎对应的影响权重,进而在上述基于标准运行环境构建出的预估模型应用于不同的生产环境中时,可以利用实际计算引擎对应的影响权重进行修正。
进一步地,在构建出上述预估模型之后,可以继续在标准运行环境中训练上述预估模型,也可以在实际生产环境中基于已执行完毕的历史数据清洗任务的相关数据训练上述预估模型。
在实际应用中,当基于标准运行环境构建出的上述预估模型第一次应用于实际生产环境中来获取待执行的数据清洗任务的预估任务时长时,得出的预估任务时长可能误差较大,因此可以通过抽样清洗的方式,对第一次获取到的预估任务时长进行修正,从而可以加快上述预估模型在实际生产环境中的校准,也可以作为单次获取待执行的数据清洗任务的预估任务时长的准确度评估依据。
接着以上示例继续举例,假设一个待执行的数据清洗任务的数据清洗规则包括去空规则和去重规则,为其分配的CPU处理资源为1C,为其分配的内存资源为1G,磁盘类型为SATA,与待清洗数据对应的数值类型为String,数据量为1000万,则可以从待清洗数据中抽取数据量为1万的抽样数据,并为抽样数据清洗任务采用与其他配置相同的配置,在实际的计算引擎上执行上述抽样数据清洗任务,得出抽样数据清洗任务的实际任务时长t1;进一步地,可以基于抽样数据清洗任务的实际任务时长t1与标准运行环境中对应数据清洗任务的实际任务时长t2(根据表1可得:t2=3min+2.5min-t0)之间的差异,对上述预估模型在实际生产环境中第一次获取到的预估任务时长进行修正。
关于利用数据清洗任务样本训练上述预估模型的具体实现方式,请参见相关技术,在此不再赘述。
下面通过具体实施例,并结合具体的应用场景对本申请进行描述。
请参见图1,图1是一示例性的实施例示出的一种数据清洗任务处理方法的流程图,上述方法执行以下步骤:
步骤102:基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,上述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;
步骤104:响应于上述数据清洗任务被执行,确定上述数据清洗任务的当前运行时长是否超过上述数据清洗任务的预估任务时长;
步骤106:如果否,则继续执行上述步骤104,直至上述数据清洗任务执行完毕。
在本说明书中,上述数据清洗任务处理方法可以应用于数据清洗平台;上述数据清洗平台,可以从大数据平台获取待清洗数据,还可以针对获取到的待清洗数据创建对应的数据清洗任务。
其中,上述数据清洗平台可以通过硬件、软件、或者软硬件结合的方式实现,本说明书中不做限定;在实际应用中,上述数据清洗平台可以包括一台服务器或者多台服务器形成的服务器集群,也可以包括网络设备上搭载的用于数据清洗的软件,也可以包括上述二者的结合。
例如,数据清洗平台具体可以包括具有数据清洗功能的服务端。
需要说明的是,上述数据清洗平台也可以被称作数据清洗节点、数据清洗系统、数据治理平台等,本说明书不做限制。
在本说明书中,上述数据清洗任务,可以包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务。在实际应用中,上述待清洗数据中可以包括存储在非关系数据库中的部分数据。
例如,上述从大数据平台获取到的待清洗数据,可以包括存储在非关系数据库中的数据,也可以包括存储在关系数据库以及非关系数据库中的数据;上述数据清洗任务可以包括针对存储在非关系数据库中的待清洗数据进行数据清洗的任务,也可以包括针对存储在关系数据库中的待清洗数据进行数据清洗的任务。
在本说明书中,上述预估模型,可以包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;其中,上述与数据清洗任务执行相关的关键属性,可以包括对数据清洗任务的实际任务时长存在影响的属性。
在实际应用中,上述机器学习模型,具体可以包括线性回归模型。
例如,上述预估模型,可以包括将与若干历史数据清洗任务执行相关的关键属性作为自变量,并将若干历史数据清洗任务的实际任务时长作为因变量,训练得到的线性回归模型。
在本说明书中,数据清洗平台可以基于上预估模型,获取待执行的数据清洗任务的预估任务时长。
例如,针对从大数据平台获取到的待清洗数据的数据清洗任务,数据清洗平台可以将与待执行的数据清洗任务执行相关的关键属性输入预先构建的预估模型,以得到预估模型输出的该数据清洗任务的预估任务时长。
在实际应用中,由于同一数据清洗任务的实际任务时长与预估任务时长之间通常存在一定的差异,因此,可以对基于上述预估模型获取到的预估任务时长进行修正。
在实现时,上述方法还可以包括:针对若干历史数据清洗任务的预估任务时长和实际任务时长进行数据拟合,得到预估任务时长和实际任务时长之间的修正函数;可选的,基于预估模型,获取待执行的数据清洗任务的预估任务时长的过程,具体可以包括:基于上述预估模型,获取上述数据清洗任务的初步预估任务时长,进一步地,基于上述预估任务时长和实际任务时长之间的修正函数,对获取到的初步预估任务时长进行修正,并将修正后的初步预估运行时长确定为上述数据清洗任务的预估任务时长。
例如,通过针对若干历史数据清洗任务的预估任务时长和实际任务时长进行数据拟合,可以得到预估任务时长和实际任务时长之间的修正函数(即以预估任务时长为自变量、以实际任务时长为因变量的拟合函数),在数据清洗平台基于预估模型获得待执行的数据清洗任务的初步预估任务时长T之后,可以基于上述得到的修正函数对初步预估任务时长T进行修正,得到修正后的初步预估运行时长T’,并将T’确定为该数据清洗任务的预估任务时长。
在以上示出的实施方式中,关于针对若干历史数据清洗任务的预估任务时长和实际任务时长进行数据拟合的具体实现方式,请参见相关技术,在此不再赘述;其中,上述历史数据清洗任务,可以包括已执行完毕的数据清洗任务,具体可以包括真实生产环境中已执行完毕的数据清洗任务,也可以包括真实生产环境中已执行完毕的抽样数据清洗任务,也可以包括标准运行环境中已执行完毕的数据清洗任务。
在示出的一种实施方式中,上述与数据清洗任务执行相关的关键属性,可以包括为数据清洗任务分配的计算资源对应的资源信息。在实现时,上述基于上述预估模型,获取待执行的数据清洗任务的初步预估任务时长,具体可以包括:将为待执行的数据清洗任务分配的计算资源对应的资源信息输入上述预估模型,得到上述预估模型输出的上述数据清洗任务的初步预估任务时长。
其中,上述为数据清洗任务分配的计算资源对应的资源信息,可以包括以下示出的一个或者多个的组合:为数据清洗任务分配的内存资源的大小,为数据清洗任务分配的CPU处理资源的大小,数据清洗任务对应的运行环境的磁盘类型。
例如,针对待执行的数据清洗任务,数据清洗平台可以将为该数据清洗任务分配的内存资源的大小、为该数据清洗任务分配的CPU处理资源的大小、和与该数据清洗任务对应的运行环境的磁盘类型输入预先构建的预估模型,并得到预估模型输出的该数据清洗任务的预估任务时长。
在示出的另一种实施方式中,上述与数据清洗任务执行相关的关键属性,还可以包括以下示出的一个或者多个的组合:与数据清洗任务对应的数据清洗规则的规则类型,与待清洗数据对应的数值类型,待清洗数据的数据量的大小。
例如,针对待执行的数据清洗任务,数据清洗平台可以将为该数据清洗任务分配的内存资源的大小、为该数据清洗任务分配的CPU处理资源的大小、与数据清洗任务对应的数据清洗规则的规则类型、和待清洗数据的数据量的大小输入预先构建的预估模型,并得到预估模型输出的该数据清洗任务的预估任务时长。
在本说明书中,数据清洗平台基于上述预估模型获取到待执行的数据清洗任务的预估任务时长之后,响应于上述数据清洗任务被执行,可以确定上述数据清洗任务的当前运行时长是否超过上述数据清洗任务的预估任务时长。
在实际应用中,响应于上述数据清洗任务被执行,可以理解为数据清洗平台检测到上述数据清洗任务已经开始执行,且未执行完毕(即未结束);在上述数据清洗任务已经开始执行之后,数据清洗平台可以获取到上述数据清洗任务的当前运行时长,其中,上述数据清洗任务的当前运行时长不超过上述数据清洗任务的实际任务时长,再通过确定上述数据清洗任务的当前运行时长是否超过上述数据清洗任务的预估任务时长,来判断上述数据清洗任务是否运行异常。
例如,数据清洗平台在基于预估模型获取到上述数据清洗任务的预估任务时长之后,响应于上述数据清洗任务被执行,可以获取上述数据清洗任务的当前运行时长,并确定上述数据清洗任务的当前运行时长是否超过上述数据清洗任务的预估任务时长。
在本说明书中,如果上述数据清洗任务的当前运行时长未超过上述数据清洗任务的预估任务时长,则数据清洗平台可以继续执行确定上述数据清洗任务的当前运行时长是否超过上述数据清洗任务的预估任务时长的步骤,直至上述数据清洗任务执行完毕。
例如,如果数据清洗任务的当前运行时长未超过该数据清洗任务的预估任务时长,则数据清洗平台可以认为上述数据清洗任务仍在正常运行,可以继续执行上述步骤,获取上述数据清洗任务的已运行时长,并确定当前运行时长是否超过预估任务时长,直至上述数据清洗任务执行完毕。
在本说明书中,如果上述数据清洗任务的当前运行时长已超过上述数据清洗任务的预估任务时长,则数据清洗平台可以确定上述数据清洗任务运行异常。
例如,如果数据清洗任务的当前运行时长已超过该数据清洗任务的预估任务时长,则数据清洗平台可以确定上述数据清洗任务运行异常;进一步地,数据清洗平台可以按照一定的诊断策略,自动诊断上述数据清洗任务运行异常的原因或自动暂停上述数据清洗任务,以释放其占用的计算资源,或者生成提示信息,以使工作人员进行人工处理。
需要说明的是,除了可以直接通过确定数据清洗任务的当前运行时长是否超过其预估任务时长,来判断该任务是否运行正常,本领域技术人员也可以根据需求,灵活设置与基于上述预估模型获取到的预估任务时长对应的预估任务时长区间,并根据上述预估任务时长区间来判断数据清洗任务是否运行正常,本说明书不做限制。
在实际应用中,在数据清洗任务被执行的过程中,计算引擎上并发任务的调度、任务运行异常等因素,可能导致某个数据清洗任务的实际任务时长超出其预估任务时长,因此,可以允许数据清洗任务的实际任务时长与预估任务时长之间存在合理的误差范围。
在实现时,数据清洗平台基于上述预估模型获取待执行的数据清洗任务的预估任务时长之后,可以设置与上述预估任务时长对应的预估任务时长区间;响应于上述数据清洗任务被执行,可以确定上述数据清洗任务的当前运行时间是否超过上述预估任务时长区间所允许的最大时长;进一步地,如果未超过,就可以认为上述数据清洗任务仍在正常运行;如果已超过,则可以确定上述数据清洗任务运行异常。
另外,需要说明的是,在以上示出的实施方式中,数据清洗平台通过获取待执行的数据清洗任务的预估任务时长,除了可以实现对单个数据清洗任务进行健康度评估,还可以实现对计算引擎进行健康度评估;具体地,通过比较计算引擎上多个数据清洗任务的预估任务时长与实际任务时长之间的差异,如果某个计算引擎上出现整体任务的实际任务时长较长的情况,可以进行告警,进而可以及时地排查上述计算引擎是否存在任务调度机制不合理、或计算引擎自身的硬件出现问题导致性能不佳的问题,并进行调优。
在示出的一种实施方式中,由于数据清洗平台针对待执行的数据清洗任务预估任务时长时,是基于当前计算引擎可为数据清洗任务分配的计算资源、或者基于预设的可为数据清洗任务分配的计算资源而得到的,实际上,上述数据清洗任务真正地被执行时,计算引擎为其分配的计算资源与预估任务时长时采用的资源信息可能不一致。
因此,数据清洗平台除了可以获取待执行的数据清洗任务的预估任务时长,还可以基于计算引擎可能为特定的数据清洗任务分配的最佳计算资源,针对特定的数据清洗任务的最佳执行时刻进行预测。在实现时,在特定的数据清洗任务被执行之前,上述方法还可以包括:预测上述数据清洗任务的最佳执行时刻,并基于预测出的最佳执行时刻,控制上述数据清洗任务的执行。
其中,上述特定的数据清洗任务在上述最佳执行时刻开始执行时,可以缩短任务时长,甚至更早地执行完毕(也即获得更早的结束时刻),或者可以根据计算引擎的繁忙程度,保证上述特定的数据清洗任务可以正常运行。
在实际应用中,数据清洗平台可以预先设置待执行的数据清洗任务的初始执行时刻,也可以基于当前时刻和计算引擎上各个数据清洗任务的预估运行时长,确定其中某个数据清洗任务的初始执行时刻,本说明书中不做限定。
例如,数据清洗平台预测特定的数据清洗任务的最佳执行时刻的过程,可以包括:基于上述预估模型,获取计算引擎上待执行的其他数据清洗任务的预估任务时长,并且针对上述计算引擎上待执行的每个数据清洗任务,基于初始执行时刻和预估任务时长,计算出对应的结束时刻;确定特定的数据清洗任务的初始执行时刻至上述特定的数据清洗任务的结束时刻之间,是否存在其他数据清洗任务的结束时刻;如果有,则将上述其他数据清洗任务的结束时刻作为特定的数据清洗任务的新的执行时刻,基于上述其他数据清洗任务执行完毕后的计算资源(也即其他数据清洗任务执行完毕、并释放为其分配的计算资源后,可为特定数据清洗任务分配的计算资源),重新获取特定的数据清洗任务的预估任务时长,并基于特定的数据清洗任务的新的执行时刻以及重新获取的预估任务时长,计算出特定的数据清洗任务的新的结束时刻;如果特定的数据清洗任务的新的结束时刻早于该数据清洗任务的结束时刻,则将特定的数据清洗任务的新的执行时刻确定为最佳执行时刻;进一步地,数据清洗平台可以控制特定的数据清洗任务在上述最佳执行时刻开始执行。
需要说明的是,在以上示出的实施方式中,如果特定的数据清洗任务的初始执行时刻至该数据清洗任务的结束时刻之间,存在多个其他数据清洗任务的结束时刻,则可以逐个针对上述多个其他数据清洗任务进行计算和比较,进而从上述多个其他数据清洗任务的结束时刻中,确定出特定的数据清洗任务的最佳执行时刻。
在示出的另一种实施方式中,数据清洗平台在获取某个计算引擎上待执行的各个数据清洗任务的预估任务时长之后,还可以根据该计算引擎在不同业务时段的繁忙程度、以及各个数据清洗任务的优先级,对各个数据清洗任务分别进行调度。在实现时,上述方法还可以包括:根据计算引擎上待执行的各个数据清洗任务的预估任务时长,将上述计算引擎的运行时段划分为多个业务时段,进一步地,可以基于为各个数据清洗任务预设的优先级和上述计算引擎对应的各个业务时段,将各个数据清洗任务分别在各个业务时段之间进行调度。
在实际应用中,可以按照在上述计算引擎上执行的数据清洗任务的数量,将上述计算引擎的运行时段划分为多个业务时段;本领域技术人员可以根据需求,灵活设置上述业务时段的数量和划分标准,本说明书中不作特殊限定。
例如,数据清洗平台可以基于预估模型,获取计算引擎上待执行的各个数据清洗任务的预估任务时长,再结合为各个数据清洗任务设置的初始执行时刻,就可以确定不同的时刻在上述计算引擎上执行的数据清洗任务的数量,进而将上述计算引擎的运行时段划分为多个业务时段,每个业务时段分别对应的状态可以包括:繁忙、正常和空闲;进一步地,可以基于为各个数据清洗任务预设的优先级以及各个业务时段对应的状态,将各个数据清洗任务分别在各个业务时段之间进行调度。
具体地,假设基于某个低优先级的、待执行的数据清洗任务的预估任务时长,预测该低优先级的数据清洗任务将会在一个繁忙状态的业务时段运行,可以对该低优先级的数据清洗任务进行延时处理,将其调度至另一个空闲状态的业务时段运行;从而在计算引擎处于繁忙状态的业务时段计算资源不足时,可以避免低优先级的数据清洗任务抢占计算资源,导致更高优先级的数据清洗任务无法即使执行完毕的情况。
通过以上技术方案可知,一方面,在针对从大数据平台获取到的待清洗数据进行数据清洗之前,可以基于预估模型,获取待执行的数据清洗任务的预估任务时长,作为后续数据清洗平台判断数据清洗任务是否运行正常的基础;另一方面,响应于已创建的数据清洗任务被执行,通过确定上述数据清洗任务的当前运行时长是否超过预估任务时长,直至上述数据清洗任务执行完毕,如果未超过,则可以认为上述数据清洗任务仍在正常运行且未执行完毕,从而在大数据清洗的场景中,数据清洗平台能够及时地评估数据清洗任务是否运行正常,避免出现空等时间过长的情况。
与上述数据清洗任务处理方法的实施例对应的,本说明书还提供了一种数据清洗任务处理装置的实施例。
请参见图2,图2是一示例性的实施例示出的一种网页分类识别装置所在电子设备的硬件结构图。在硬件层面,该设备包括处理器202、内部总线204、网络接口206、内存208以及非易失性存储器210,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器202从非易失性存储器210中读取对应的计算机程序到内存208中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参见图3,图3是一示例性的实施例示出的一种数据清洗任务处理装置的框图。该数据清洗任务处理装置可以应用于图2所示的电子设备中,以实现本说明书的技术方案。其中,上述数据清洗任务处理装置可以包括:
预估单元302,用于基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,上述预估模型包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;上述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;
确定单元304,用于响应于上述数据清洗任务被执行,确定上述数据清洗任务的当前运行时长是否超过上述数据清洗任务的预估任务时长;
处理单元306,用于如果上述数据清洗任务的当前运行时长未超过上述数据清洗任务的预估任务时长,则继续调用上述确定单元304,直至上述数据清洗任务执行完毕。
在本实施例中,上述处理单元306,还用于:
如果上述数据清洗任务的当前运行时长已超过上述数据清洗任务的预估任务时长,则确定上述数据清洗任务运行异常。
在本实施例中,上述预估单元302,还用于:
针对若干历史数据清洗任务的预估任务时长和实际任务时长进行数据拟合,得到预估任务时长和实际任务时长之间的修正函数;
上述预估单元302,具体用于:
基于上述预估模型,获取待执行的数据清洗任务的初步预估任务时长;
基于上述修正函数,对上述初步预估任务时长进行修正,并将修正后的初步预估运行时长确定为上述数据清洗任务的预估任务时长。
在本实施例中,上述预估单元302,具体用于:
将与待执行的数据清洗任务执行相关的关键属性输入上述预估模型,得到上述预估模型输出的上述数据清洗任务的初步预估任务时长;其中,与数据清洗任务执行相关的关键属性,包括为数据清洗任务分配的计算资源对应的资源信息。
在本实施例中,上述为数据清洗任务分配的计算资源对应的资源信息,包括以下示出的一个或者多个的组合:
为数据清洗任务分配的内存资源的大小;
为数据清洗任务分配的CPU处理资源的大小;
数据清洗任务对应的运行环境的磁盘类型。
在本实施例中,上述与数据清洗任务执行相关的关键属性,还包括以下示出的一个或者多个的组合:
与数据清洗任务对应的数据清洗规则的规则类型;
与待清洗数据对应的数值类型;
待清洗数据的数据量的大小。
在本实施例中,上述处理单元306,还用于:
预测上述数据清洗任务的最佳执行时刻;
基于预测出的最佳执行时刻,控制上述数据清洗任务的执行。
在本实施例中,上述处理单元306,具体用于:
基于上述预估模型,获取计算引擎上待执行的其他数据清洗任务的预估任务时长,并且针对上述计算引擎上待执行的每个数据清洗任务,基于初始执行时刻和预估任务时长,计算出对应的结束时刻;
确定上述数据清洗任务的初始执行时刻至上述数据清洗任务的结束时刻之间,是否存在其他数据清洗任务的结束时刻;
如果有,则将上述其他数据清洗任务的结束时刻作为上述数据清洗任务的新的执行时刻,基于上述其他数据清洗任务执行完毕后的计算资源,重新获取上述数据清洗任务的预估任务时长,并基于上述数据清洗任务的新的执行时刻以及重新获取的上述数据清洗任务的预估任务时长,计算出上述数据清洗任务的新的结束时刻;
如果上述数据清洗任务的新的结束时刻早于上述数据清洗任务的结束时刻,则将上述数据清洗任务的新的执行时刻确定为上述数据清洗任务的最佳执行时刻。
在本实施例中,上述处理单元306,具体还用于:
根据上述计算引擎上待执行的各个数据清洗任务的预估任务时长,将上述计算引擎的运行时段划分为多个业务时段;不同的业务时段中,在上述计算引擎上执行的数据清洗任务的数量不同;
基于为各个数据清洗任务预设的优先级和上述计算引擎对应的各个业务时段,将各个数据清洗任务分别在各个业务时段之间进行调度。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (12)
1.一种数据清洗任务处理方法,其特征在于,所述方法包括:
步骤102:基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,所述预估模型包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;所述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;
步骤104:响应于所述数据清洗任务被执行,确定所述数据清洗任务的当前运行时长是否超过所述数据清洗任务的预估任务时长;
步骤106:如果所述数据清洗任务的当前运行时长未超过所述数据清洗任务的预估任务时长,则继续执行所述步骤104,直至所述数据清洗任务执行完毕。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述数据清洗任务的当前运行时长已超过所述数据清洗任务的预估任务时长,则确定所述数据清洗任务运行异常。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对若干历史数据清洗任务的预估任务时长和实际任务时长进行数据拟合,得到预估任务时长和实际任务时长之间的修正函数;
所述基于预估模型,获取待执行的数据清洗任务的预估任务时长,包括:
基于所述预估模型,获取待执行的数据清洗任务的初步预估任务时长;
基于所述修正函数,对所述初步预估任务时长进行修正,并将修正后的初步预估运行时长确定为所述数据清洗任务的预估任务时长。
4.根据权利要求3所述的方法,其特征在于,所述基于所述预估模型,获取待执行的数据清洗任务的初步预估任务时长,包括:
将与待执行的数据清洗任务执行相关的关键属性输入所述预估模型,得到所述预估模型输出的所述数据清洗任务的初步预估任务时长;其中,与数据清洗任务执行相关的关键属性,包括为数据清洗任务分配的计算资源对应的资源信息。
5.根据权利要求4所述的方法,其特征在于,所述为数据清洗任务分配的计算资源对应的资源信息,包括以下示出的一个或者多个的组合:
为数据清洗任务分配的内存资源的大小;
为数据清洗任务分配的CPU处理资源的大小;
数据清洗任务对应的运行环境的磁盘类型。
6.根据权利要求4所述的方法,其特征在于,所述与数据清洗任务执行相关的关键属性,还包括以下示出的一个或者多个的组合:
与数据清洗任务对应的数据清洗规则的规则类型;
与待清洗数据对应的数值类型;
待清洗数据的数据量的大小。
7.根据权利要求1所述的方法,其特征在于,响应于所述数据清洗任务被执行,确定所述数据清洗任务的当前运行时长是否超过所述数据清洗任务的预估任务时长之前,还包括:
预测所述数据清洗任务的最佳执行时刻;
基于预测出的最佳执行时刻,控制所述数据清洗任务的执行。
8.根据权利要求7所述的方法,其特征在于,所述预测所述数据清洗任务的最佳执行时刻,包括:
基于所述预估模型,获取计算引擎上待执行的其他数据清洗任务的预估任务时长,并且针对所述计算引擎上待执行的每个数据清洗任务,基于初始执行时刻和预估任务时长,计算出对应的结束时刻;
确定所述数据清洗任务的初始执行时刻至所述数据清洗任务的结束时刻之间,是否存在其他数据清洗任务的结束时刻;
如果有,则将所述其他数据清洗任务的结束时刻作为所述数据清洗任务的新的执行时刻,基于所述其他数据清洗任务执行完毕后的计算资源,重新获取所述数据清洗任务的预估任务时长,并基于所述数据清洗任务的新的执行时刻以及重新获取的所述数据清洗任务的预估任务时长,计算出所述数据清洗任务的新的结束时刻;
如果所述数据清洗任务的新的结束时刻早于所述数据清洗任务的结束时刻,则将所述数据清洗任务的新的执行时刻确定为所述数据清洗任务的最佳执行时刻。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
根据所述计算引擎上待执行的各个数据清洗任务的预估任务时长,将所述计算引擎的运行时段划分为多个业务时段;不同的业务时段中,在所述计算引擎上执行的数据清洗任务的数量不同;
基于为各个数据清洗任务预设的优先级和所述计算引擎对应的各个业务时段,将各个数据清洗任务分别在各个业务时段之间进行调度。
10.一种数据清洗任务处理装置,其特征在于,所述装置包括:
预估单元,用于基于预估模型,获取待执行的数据清洗任务的预估任务时长;其中,所述预估模型包括将与若干历史数据清洗任务执行相关的关键属性作为输入,并将若干历史数据清洗任务的实际任务时长作为输出,训练得到的机器学习模型;所述数据清洗任务包括针对从大数据平台获取到的待清洗数据进行数据清洗的任务;
确定单元,用于响应于所述数据清洗任务被执行,确定所述数据清洗任务的当前运行时长是否超过所述数据清洗任务的预估任务时长;
处理单元,用于如果所述数据清洗任务的当前运行时长未超过所述数据清洗任务的预估任务时长,则继续调用所述确定单元,直至所述数据清洗任务执行完毕。
11.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行权利要求1至9任一项所述的方法。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110736384.3A CN113360270B (zh) | 2021-06-30 | 2021-06-30 | 一种数据清洗任务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110736384.3A CN113360270B (zh) | 2021-06-30 | 2021-06-30 | 一种数据清洗任务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360270A true CN113360270A (zh) | 2021-09-07 |
CN113360270B CN113360270B (zh) | 2024-02-27 |
Family
ID=77537395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110736384.3A Active CN113360270B (zh) | 2021-06-30 | 2021-06-30 | 一种数据清洗任务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360270B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779150A (zh) * | 2021-09-14 | 2021-12-10 | 杭州数梦工场科技有限公司 | 一种数据质量评估方法及装置 |
CN116360990A (zh) * | 2023-03-27 | 2023-06-30 | 合芯科技有限公司 | 分布式计算任务合理性预判方法、系统、设备和存储介质 |
CN117112550A (zh) * | 2023-10-24 | 2023-11-24 | 广东中思拓大数据研究院有限公司 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217457A (ja) * | 2007-03-05 | 2008-09-18 | Mizuho Information & Research Institute Inc | ジョブ管理システム、ジョブ管理方法及びジョブ管理プログラム |
CN106919449A (zh) * | 2017-03-21 | 2017-07-04 | 联想(北京)有限公司 | 一种计算任务的调度控制方法及电子设备 |
US20190311300A1 (en) * | 2018-04-09 | 2019-10-10 | Veda Data Solutions, Inc. | Scheduling Machine Learning Tasks, and Applications Thereof |
CN110807545A (zh) * | 2019-10-22 | 2020-02-18 | 北京三快在线科技有限公司 | 任务时长的预估方法、装置、电子设备和存储介质 |
CN110928751A (zh) * | 2019-10-12 | 2020-03-27 | 平安国际智慧城市科技股份有限公司 | 任务处理时间自动预测方法、装置、介质及电子设备 |
CN111191811A (zh) * | 2018-11-14 | 2020-05-22 | 中兴通讯股份有限公司 | 集群负荷预测方法、装置及存储介质 |
CN111258745A (zh) * | 2018-11-30 | 2020-06-09 | 华为终端有限公司 | 一种任务处理方法及设备 |
US20200273570A1 (en) * | 2019-02-22 | 2020-08-27 | Accenture Global Solutions Limited | Predictive analysis platform |
CN111813624A (zh) * | 2020-06-29 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于时长分析的机器人执行时长的预估方法及其相关设备 |
CN111813518A (zh) * | 2020-06-29 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 机器人预警方法、装置、计算机设备及存储介质 |
CN111813523A (zh) * | 2020-07-09 | 2020-10-23 | 北京奇艺世纪科技有限公司 | 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质 |
CN112130966A (zh) * | 2019-06-24 | 2020-12-25 | 北京京东尚科信息技术有限公司 | 任务调度方法和系统 |
CN112163299A (zh) * | 2020-09-30 | 2021-01-01 | 三一重机有限公司 | 挖掘机油耗的预测方法、系统及电子设备 |
CN112380716A (zh) * | 2020-11-20 | 2021-02-19 | 武汉奇造科技有限公司 | 一种基于学习算法的sal 3d打印时间预估方法及系统 |
CN112416568A (zh) * | 2020-09-01 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 音视频转码任务的时长预估方法和时长预估装置 |
CN112667376A (zh) * | 2020-12-23 | 2021-04-16 | 数字广东网络建设有限公司 | 任务调度处理方法、装置、计算机设备及存储介质 |
-
2021
- 2021-06-30 CN CN202110736384.3A patent/CN113360270B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217457A (ja) * | 2007-03-05 | 2008-09-18 | Mizuho Information & Research Institute Inc | ジョブ管理システム、ジョブ管理方法及びジョブ管理プログラム |
CN106919449A (zh) * | 2017-03-21 | 2017-07-04 | 联想(北京)有限公司 | 一种计算任务的调度控制方法及电子设备 |
US20190311300A1 (en) * | 2018-04-09 | 2019-10-10 | Veda Data Solutions, Inc. | Scheduling Machine Learning Tasks, and Applications Thereof |
CN111191811A (zh) * | 2018-11-14 | 2020-05-22 | 中兴通讯股份有限公司 | 集群负荷预测方法、装置及存储介质 |
CN111258745A (zh) * | 2018-11-30 | 2020-06-09 | 华为终端有限公司 | 一种任务处理方法及设备 |
US20200273570A1 (en) * | 2019-02-22 | 2020-08-27 | Accenture Global Solutions Limited | Predictive analysis platform |
CN112130966A (zh) * | 2019-06-24 | 2020-12-25 | 北京京东尚科信息技术有限公司 | 任务调度方法和系统 |
CN110928751A (zh) * | 2019-10-12 | 2020-03-27 | 平安国际智慧城市科技股份有限公司 | 任务处理时间自动预测方法、装置、介质及电子设备 |
CN110807545A (zh) * | 2019-10-22 | 2020-02-18 | 北京三快在线科技有限公司 | 任务时长的预估方法、装置、电子设备和存储介质 |
CN111813624A (zh) * | 2020-06-29 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于时长分析的机器人执行时长的预估方法及其相关设备 |
CN111813518A (zh) * | 2020-06-29 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 机器人预警方法、装置、计算机设备及存储介质 |
CN111813523A (zh) * | 2020-07-09 | 2020-10-23 | 北京奇艺世纪科技有限公司 | 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质 |
CN112416568A (zh) * | 2020-09-01 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 音视频转码任务的时长预估方法和时长预估装置 |
CN112163299A (zh) * | 2020-09-30 | 2021-01-01 | 三一重机有限公司 | 挖掘机油耗的预测方法、系统及电子设备 |
CN112380716A (zh) * | 2020-11-20 | 2021-02-19 | 武汉奇造科技有限公司 | 一种基于学习算法的sal 3d打印时间预估方法及系统 |
CN112667376A (zh) * | 2020-12-23 | 2021-04-16 | 数字广东网络建设有限公司 | 任务调度处理方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
潘坚跃: "基于多模型融合的电网故障抢修时长预测", 《电信科学》, no. 01, pages 144 - 150 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779150A (zh) * | 2021-09-14 | 2021-12-10 | 杭州数梦工场科技有限公司 | 一种数据质量评估方法及装置 |
CN116360990A (zh) * | 2023-03-27 | 2023-06-30 | 合芯科技有限公司 | 分布式计算任务合理性预判方法、系统、设备和存储介质 |
CN116360990B (zh) * | 2023-03-27 | 2024-01-09 | 合芯科技有限公司 | 分布式计算任务合理性预判方法、系统、设备和存储介质 |
CN117112550A (zh) * | 2023-10-24 | 2023-11-24 | 广东中思拓大数据研究院有限公司 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
CN117112550B (zh) * | 2023-10-24 | 2024-02-27 | 广东中思拓大数据研究院有限公司 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113360270B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113360270B (zh) | 一种数据清洗任务处理方法及装置 | |
US9317330B2 (en) | System and method facilitating performance prediction of multi-threaded application in presence of resource bottlenecks | |
US8516499B2 (en) | Assistance in performing action responsive to detected event | |
CN109117595B (zh) | 一种热负荷预测方法、装置、可读介质及电子设备 | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN107562532B (zh) | 一种预测设备集群的硬件资源利用率的方法及装置 | |
CN112202617B (zh) | 资源管理系统监控方法、装置、计算机设备和存储介质 | |
CN110377519B (zh) | 大数据系统的性能容量测试方法、装置、设备及存储介质 | |
CN114518948A (zh) | 面向大规模微服务应用的动态感知重调度的方法及应用 | |
CN110347572A (zh) | 一种性能日志输出方法、装置、系统、设备及介质 | |
CN107493205B (zh) | 一种设备集群扩容性能预测方法及装置 | |
CN112860523A (zh) | 批量作业处理的故障预测方法、装置和服务器 | |
CN114327963A (zh) | 一种异常检测方法及装置 | |
CN115668150A (zh) | 接口性能测试方法和装置、服务器、计算机可读存储介质 | |
CN110730135A (zh) | 一种提升服务器性能的方法、装置、存储介质和服务器 | |
CN111913805B (zh) | 一种cpu利用率计算方法及装置 | |
CN108733484A (zh) | 管理应用程序的方法与装置 | |
CN117290113B (zh) | 一种任务处理方法、装置、系统和存储介质 | |
CN117573374B (zh) | 一种服务器无感知资源配置的系统及方法 | |
EP4357925A1 (en) | Method and device for finding causality between application instrumentation points | |
JP7287481B2 (ja) | 閾値取得装置、その方法、およびプログラム | |
CN116594753A (zh) | 任务调度方法、装置、电子设备、存储介质及程序产品 | |
CN116795705A (zh) | 异常节点的确定方法、装置和计算机设备 | |
CN117492943A (zh) | 数据处理方法及装置 | |
CN114595369A (zh) | 一种基于ZooKeeper分布式队列的工单接收方法 |
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 |