CN111459646B - 基于管道模型与任务合并的大数据质量管理任务调度方法 - Google Patents

基于管道模型与任务合并的大数据质量管理任务调度方法 Download PDF

Info

Publication number
CN111459646B
CN111459646B CN202010387106.7A CN202010387106A CN111459646B CN 111459646 B CN111459646 B CN 111459646B CN 202010387106 A CN202010387106 A CN 202010387106A CN 111459646 B CN111459646 B CN 111459646B
Authority
CN
China
Prior art keywords
task
data quality
data
tasks
type
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
Application number
CN202010387106.7A
Other languages
English (en)
Other versions
CN111459646A (zh
Inventor
顾荣
齐扬
黄宜华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202010387106.7A priority Critical patent/CN111459646B/zh
Publication of CN111459646A publication Critical patent/CN111459646A/zh
Application granted granted Critical
Publication of CN111459646B publication Critical patent/CN111459646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于管道模型与任务合并的大数据质量管理任务调度方法,包括以下步骤:第一步,从各类底层异构大数据源中读取脏数据;第二步,定义一系列数据质量检测与修复任务,发送给任务调度器;第三步,任务调度器对收到的数据质量管理任务进行分类;第四步,对可合并的分类后任务进行合并处理;第五步,通过并行化数据处理函数依次执行各类任务;第六步,统一输出并反馈数据质量检测与修复任务的执行结果。本发明可解决现有数据质量管理系统在大数据场景下性能不足的问题,提高数据质量管理任务执行效率,同时兼顾数据质量的检测与修复问题。

Description

基于管道模型与任务合并的大数据质量管理任务调度方法
技术领域
本发明涉及大数据质量管理领域,具体是一种基于管道模型与任务合并的大数据质量管理任务调度方法,尤其涉及底层有多个异构大数据源,包含多种数据质量问题,提供一种统一的数据质量管理任务调度方法。
背景技术
在当今大数据时代,数据质量问题正得到越来越多的关注,它不仅是一项基础的数据处理工作,帮助清洗存在质量问题的数据、整合干净数据,并提供高质量的数据服务,更是用户开发上层应用、挖掘数据价值、制定正确决策的必要前提,直接影响大数据所能带来的社会价值和经济效益。此外,在实际应用中,数据质量管理贯穿数据的整个生命周期,下接“数据湖”中的海量异构数据源,上接教育、医疗、信息检索等各个行业和领域,且对接主数据管理、元数据管理、数据标签管理等模块,依赖统一的数据结构表示,并需要一系列模式化、标准化的数据定义和操作规范。
为此,出现了ETL(Extract-Load)、数据清洗、数据质量监控等方法和技术,但相关方法和技术或是只支持数据质量检测与修复的一个方面,或是只针对某一类数据质量问题,方法的处理能力有限。其中,ETL技术主要面向数据仓库领域,仅支持轻量级数据清洗,缺乏数据质量检测与复杂清洗能力;数据清洗方法主要针对特定数据质量问题,适用领域和场景有限,且各类方法难以结合使用;数据质量监控技术仅用于数据质量检测,对于检测出的数据质量问题需自行处理。此外,现有方法和技术或是基于单机内存运行,难以处理海量数据并实现大规模扩展,且在处理复杂数据质量管理任务时效率低下,或是基于传统的串行化任务调度方式,在处理多个大数据质量管理任务时未考虑任务的计算特性和任务之间的相关性,任务的执行调度性能不足。
因此,目前还没有方法旨在解决大数据场景下,数据质量管理任务的调度问题。如何设计一个调度机制,使得调度器在处理大规模数据中的各类数据质量问题时依旧获得较好的性能,成为一个非常有挑战性的工作。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于管道模型与任务合并的大数据质量管理任务调度方法,解决现有系统在大数据场景下处理多数据管理任务时性能不高的问题,同时兼顾各类数据质量问题的检测与修复。
技术方案:为了实现上述发明目的,本发明采用的技术方案是提供一种基于管道模型与任务合并的大数据质量管理任务调度方法,包括以下步骤:
(1)从各类底层异构大数据源中读取脏数据,包括传统关系型数据库、非关系型数据库、数据仓库和文件系统;
(2)根据具体的数据质量管理需求,定义一系列数据质量检测与修复任务,其中检测任务分完整性、唯一性、一致性和有效性四个维度,修复任务分为填充、过滤与删除、替换三种转换方式,将定义好的任务发送给任务调度器;
(3)为了执行具体的处理逻辑,任务调度器对收到的数据质量管理任务进行分类,对于数据质量检测任务分为扫描共享型、分组处理型和复杂逻辑型,对于数据质量修复任务分为过滤型、替换型和复杂逻辑型;
(4)任务调度器对所述步骤(3)中划分的部分数据质量管理任务,做进一步合并处理,具体地,对数据质量检测任务中的扫描共享型和分组处理型任务分别进行合并,对数据质量修复任务中的过滤型和替换型任务分别进行合并;
(5)通过并行化数据处理函数依次执行各类任务,对于数据质量检测任务,按照合并后的扫描共享型、合并后的分组处理型和复杂逻辑型的顺序依次执行,对于数据质量修复任务,按照合并后的过滤型、合并后的替换型和复杂逻辑型的顺序依次执行;
(6)输出并反馈数据质量管理任务的执行结果,对于数据质量检测任务,将检测出的数据质量目标和异常信息统一以数据质量度量指标的形式进行反馈,对于数据质量修复任务,返回修复后的干净数据或抛出异常信息。
进一步地,所述步骤(1)中,关系型数据库通过JDBC进行连接,非关系型数据库具体为主流的分布式数据库HBase,数据仓库具体为主流的分布式数据仓库Hive,文件系统具体为主流的分布式文件系统HDFS,各类异构大数据源中的脏数据统一以分布式DataFrame的数据结构来表示。
进一步地,所述步骤(2)中,从逻辑层面对数据质量管理任务进行定义,根据数据质量维度体系,数据质量检测任务包含四类;根据数据的转换方式,数据质量修复任务包含三类。
进一步地,所述步骤(3)中,从物理层面对数据质量管理任务进行分类,根据任务的计算特性将数据质量检测与修复任务分别分为三类。
进一步地,所述步骤(4)中,根据任务的计算特性和任务之间的相关性对部分分类后任务进行合并,以提高任务并行度,避免执行重复逻辑。
进一步的,所述步骤(5)中,为了减少任务的平均等待时间,优先执行时间较短的任务,即数据访问次数较少的任务,并构建管道模型串联各类任务依次执行调度。
进一步地,所述步骤(6)中,由于某一检测任务发生异常并不影响其他检测任务,且检测任务的执行结果为各类数据质量目标值,因此统一以数据质量度量指标反馈实际检测结果与异常信息;由于任一修复任务发生异常将导致后续任务无法进行,因此对任意异常信息做抛出处理,仅在无异常时输出修复后的干净数据。
有益效果:本发明能够在大数据场景下,通过一种基于管道模型与任务合并的大数据质量管理任务调度方法,有效地解决数据质量检测与修复问题:第一,本发明支持底层各类异构大数据源,并基于分布式内存执行计算,具有良好的性能。第二,本发明基于数据质量维度体系和数据转换方式对数据质量管理任务进行定义,能够清晰地表达各类数据质量问题的检测与修复语义。第三,本发明基于任务的计算特性和任务间的相关性对任务进行合并,可进一步提高任务的并行度,提升数据质量管理效率。第四,本发明定义了统一的数据质量管理任务执行结果反馈机制,能够清晰地反映数据质量问题与任务的执行情况。
附图说明
图1为本发明的方法总体示意图;
图2中(a)(b)(c)统一基于Adult数据集,分别表示本发明中扫描共享型任务调度、分组处理型任务调度、过滤型任务调度与传统串行化调度方式的实验对比图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提出了一种基于管道模型与任务合并的大数据质量管理任务调度方法,解决了大数据场景下,数据质量检测与修复任务的执行效率问题,并且设计了一种基于任务计算特性和任务间相关性的任务分类与合并方法,从而提高任务的并行度,避免执行重复计算。
如图1所示,本发明的完整流程包括数据读取阶段、任务定义阶段、任务分类阶段、任务合并阶段、任务执行阶段和结果反馈阶段6个部分。具体的实施方式分别说明如下:
数据读取阶段对应技术方案步骤(1)。具体实施方式为:从各类底层异构大数据源中读取脏数据,具体包括常见的关系型数据库、非关系型数据库HBase、数据仓库Hive和分布式文件系统HDFS,其中关系型数据库统一通过JDBC进行连接。将脏数据统一以DataFrame的结构进行表示,该结构基于分布式内存,且支持各种常见数据类型。
任务定义阶段对应技术方案步骤(2)。具体实施方式为:将数据质量管理任务分为数据质量检测任务与数据质量修复任务,并分别进行定义与调度。对于数据质量检测任务,基于数据质量维度体系可分为完整性、唯一性、一致性、有效性四类,分别用于检测数据缺失、数据冗余、数据与规则是否匹配、数据本身是否有效四类数据质量问题。其中,完整性通过缺失记录数与缺失比例进行度量,唯一性通过唯一值、不同值、相似实体和数据分布直方图进行度量,一致性所涉及的规则包括数据取值范围、条件表达式、数据类型、正则表达式和函数依赖,通过与规则匹配记录数和依赖冲突数进行度量,有效性所涉及的数据特征包括最大值、均值、方差等常见统计量、信息熵、互信息等特殊统计量和数据异常值,通过统计量和异常记录数进行度量。对于数据质量修复任务,基于数据转换方式分为填充、过滤与删除、替换三类,分别用于填充缺失值、删除错误值和以正确值替换错误值。其中,填充包括特定值、前后项等常规填充方法和基于概率模型的自动化填充方法,过滤与删除包括基于各类检测规则的错误数据过滤与删除方法,替换包括基于各类检测规则的错误数据替换方法,支持常见的统计量替换和基于条件函数依赖的自动化修复。
任务分类阶段对应技术方案步骤(3)。具体实施方式为:基于任务的底层计算特性和任务间的相关性,对所有任务进行分类。对于数据质量检测任务,根据计算数据质量目标时数据的访问模式分为扫描共享型、分组处理型和复杂逻辑型,扫描共享型任务仅需对数据进行一次扫描即可计算出数据质量目标,分组处理型任务需预先对数据进行分组统计,并基于该统计数据计算数据质量目标,复杂逻辑型需经过多次复杂的数据转换过程,并在最后计算数据质量目标。对于数据质量修复任务,根据修复数据时执行的具体操作分为过滤型、替换型和复杂逻辑型,过滤型删除数据中与规则不匹配的记录,替换型以正确值替换错误数据,需预先求解所有的替换值,复杂逻辑型基于复杂模型或规则进行修复,需执行多次复杂的数据转换。
任务合并阶段对应技术方案步骤(4)。具体实施方式为:对于部分分类后的任务,由于其处理逻辑大体相同,且任务之间互不影响,可进一步进行合并。对于扫描共享型任务,通过共享缓存的方式,在遍历一次数据集时同时处理所有任务,并将汇总的结果缓存在应用程序的Driver端;对于分组处理型任务,通过将统计数据进行缓存,以实现该数据的共享,并根据是否执行聚合函数进一步分为分组共享型与非共享型,对分组共享型任务以扫描共享型任务的方式进行合并;对于过滤型任务,将任务的过滤条件以逻辑运算符“&”进行合并,并基于合并后的条件进行过滤;对于替换型任务,以分支处理函数when和otherwise合并各替换条件与替换值,when表示满足当前条件时进行替换,otherwise则表示相反的语义。
任务执行阶段对应技术方案步骤(5)。具体实施方式为:为了尽量减少任务的平均等待时间,优先执行耗时短的任务,即以扫描共享型、分组处理型和复杂逻辑型的顺序依次执行检测任务,以过滤型、替换型和复杂逻辑型的顺序依次执行修复任务。
结果反馈阶段对应技术方案步骤(6)。具体实施方式为:由于检测任务之间互不影响,统一以数据质量度量指标反馈检测结果和异常信息,检测成功与否决定指标的具体含义;由于修复任务之间相互影响,对任意异常情况直接抛出,仅在无任何异常时输出干净数据。
本发明提出了一种大数据场景下的数据质量管理任务调度方法。为测试该方法实际性能,在相同软件、硬件平台上,采用Spark作为计算引擎,真实人口普查数据集Adult作为测试数据集,以扫描共享型任务、分组处理型任务和过滤型任务为实例,测量了本发明提出的技术方法对数据质量管理任务的调度执行时间。作为比较,同时测量了传统的串行化调度方法的执行时间。图2展示了实际测量的结果,其中图2(a)(b)(c)分别对应三个扫描共享型任务、分组处理型任务和过滤型任务在Adult数据集上的执行时间。在同样的软件、硬件平台上,本发明所述的技术方案在步骤(4)中进一步基于任务的底层计算特性和任务间的相关性对任务进行合并,本发明所述的技术方案比传统的串行化任务调度方法的任务执行时间短。从图2可以看出,本发明提出的方法可将扫描共享型任务的执行性能提升30%~45%,可将分组处理型任务的执行性能提升20%~39%,可将过滤型任务的执行性能提升31%~56%。本发明提出的基于管道模型与任务合并的大数据质量管理任务调度方法相比传统串行化调度方法具有显著的性能提升。

Claims (5)

1.一种基于管道模型与任务合并的大数据质量管理任务调度方法,包括以下步骤:
(1)从各类底层异构大数据源中读取脏数据,所述底层异构大数据源包括关系型数据库、非关系型数据库、文件系统和数据仓库;
(2)定义一系列数据质量检测与修复任务,其中,数据质量检测任务分为完整性、唯一性、一致性、有效性四个维度,数据质量修复任务分为填充、过滤与删除、替换三种转换方式,将定义好的任务发送给任务调度器;
(3)任务调度器对收到的数据质量检测与修复任务进行分类:对于数据质量检测任务分为扫描共享型、分组处理型和复杂逻辑型;对于数据质量修复任务分为过滤型、替换型和复杂逻辑型;
(4)在分类的基础上进一步对能够合并的任务进行合并处理,所述能够合并的任务包括数据质量检测任务中的扫描共享型和分组处理型以及数据质量修复任务中的过滤型和替换型;
(5)通过并行化数据处理函数依次执行各类任务,对于数据质量检测任务,按照扫描共享型、分组处理型和复杂逻辑型的顺序依次执行;对于数据质量修复任务,按照过滤型、替换型和复杂逻辑型的顺序依次执行;
(6)输出并反馈数据质量检测与修复任务的执行结果:数据质量检测任务统一反馈数据质量度量指标;数据质量修复任务输出干净数据或反馈异常信息。
2.根据权利要求1所述的基于管道模型与任务合并的大数据质量管理任务调度方法,其特征在于:所述步骤(1)中,所述脏数据统一以分布式DataFrame的数据结构来表示。
3.根据权利要求1所述的基于管道模型与任务合并的大数据质量管理任务调度方法,其特征在于:所述步骤(2)中,数据质量检测任务基于数据质量维度体系进行定义,数据质量修复任务基于数据的转换方式进行定义。
4.根据权利要求1所述的基于管道模型与任务合并的大数据质量管理任务调度方法,其特征在于:所述步骤(3)中,数据质量检测任务分为扫描共享型、分组处理型和复杂逻辑型分别表示仅需扫描一次数据、需预先进行数据分组和具有复杂处理逻辑的检测任务,数据质量修复任务分为过滤型、替换型、复杂逻辑型分别表示删除错误数据、更新错误数据和具有复杂处理逻辑的修复任务。
5.根据权利要求1所述的基于管道模型与任务合并的大数据质量管理任务调度方法,其特征在于:所述步骤(6)中,数据质量检测任务通过数据质量度量指标统一表示检测出的数据质量目标值和任务执行异常,而数据质量修复任务在任务成功时输出干净数据,在任务失败时反馈异常信息。
CN202010387106.7A 2020-05-09 2020-05-09 基于管道模型与任务合并的大数据质量管理任务调度方法 Active CN111459646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010387106.7A CN111459646B (zh) 2020-05-09 2020-05-09 基于管道模型与任务合并的大数据质量管理任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010387106.7A CN111459646B (zh) 2020-05-09 2020-05-09 基于管道模型与任务合并的大数据质量管理任务调度方法

Publications (2)

Publication Number Publication Date
CN111459646A CN111459646A (zh) 2020-07-28
CN111459646B true CN111459646B (zh) 2023-03-21

Family

ID=71681935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010387106.7A Active CN111459646B (zh) 2020-05-09 2020-05-09 基于管道模型与任务合并的大数据质量管理任务调度方法

Country Status (1)

Country Link
CN (1) CN111459646B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597193B (zh) * 2020-12-22 2021-10-22 北京九章云极科技有限公司 一种数据处理方法和数据处理系统
CN114661972A (zh) * 2020-12-23 2022-06-24 苏州国双软件有限公司 爬虫任务报错的处理方法及装置
CN116721485B (zh) * 2023-08-04 2023-10-24 浙江大学 一种基于容器技术的汽车轮毂轴承监测系统流计算平台
CN117315445B (zh) * 2023-11-28 2024-03-22 苏州元脑智能科技有限公司 目标识别方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706791A (zh) * 2009-09-17 2010-05-12 成都康赛电子科大信息技术有限责任公司 基于用户偏好的数据清洗方法
CN106537350A (zh) * 2014-07-08 2017-03-22 国际商业机器公司 用于处理数据处理系统中的数据质量异常的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140279724A1 (en) * 2013-03-15 2014-09-18 Turn Inc. Taxonomy configuration for page analytics and campaign creation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706791A (zh) * 2009-09-17 2010-05-12 成都康赛电子科大信息技术有限责任公司 基于用户偏好的数据清洗方法
CN106537350A (zh) * 2014-07-08 2017-03-22 国际商业机器公司 用于处理数据处理系统中的数据质量异常的方法

Also Published As

Publication number Publication date
CN111459646A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111459646B (zh) 基于管道模型与任务合并的大数据质量管理任务调度方法
WO2021052031A1 (zh) 基于统计四分位距的商品库存风险预警方法、系统及计算机可读存储介质
US10719511B2 (en) Profiling data with source tracking
US7979399B2 (en) Database journaling in a multi-node environment
CN111027615B (zh) 基于机器学习的中间件故障预警方法和系统
CN103176974B (zh) 优化数据库中访问路径的方法和装置
Liu et al. Efficient distributed query processing in large RFID-enabled supply chains
Abuzaid et al. Diff: a relational interface for large-scale data explanation
US9189489B1 (en) Inverse distribution function operations in a parallel relational database
CN110503570A (zh) 一种异常用电数据检测方法、系统、设备、存储介质
CN111627552A (zh) 一种医疗流式数据血缘关系分析、存储方法及装置
CN111198979A (zh) 一种用于对输变电可靠性评估大数据进行清洗的方法及系统
Lin et al. Exploring characteristics of inter-cluster machines and cloud applications on google clusters
CN110879805A (zh) 一种数据异常发现方法、装置、服务器及存储介质
US7979400B2 (en) Database journaling in a multi-node environment
CN107038260B (zh) 一种可保持titan实时数据一致性的高效并行加载方法
US20160357844A1 (en) Database apparatus, search apparatus, method of constructing partial graph, and search method
CN106130929A (zh) 基于图论算法的互联网保险领域的业务报文自动处理方法和系统
Malik et al. A comprehensive approach towards data preprocessing techniques & association rules
CN116257594A (zh) 一种数据重构方法及系统
CN115809226A (zh) 用于洗煤厂智能管理系统的数据对接方法及系统
CN111782657B (zh) 数据处理方法及装置
CN111221809B (zh) 基于实时数据库存储的数据清洗方法和系统及存储介质
CN111291246A (zh) 一种大数据快速分析系统
CN112580838A (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
GR01 Patent grant
GR01 Patent grant