基于流式计算的海量数据清洗的方法技术

技术编号:26170820 阅读:120 留言:0更新日期:2020-10-31 13:40
本发明专利技术基于流式计算的海量数据清洗的方法,包括如下步骤:异构数据源通过数据接入模块统一接入数据,并以统一的格式推送入消息队列Kafka中,等待数据清洗,并将接入情况反馈给调度中心;配置清洗算子和设计算子流程图;计算集群中的计算节点与调度中心通信,调用算子流程图,按照设计的算子流程图的流程进行清洗操作,并将清洗运行情况反馈给调度中心。本发明专利技术采用分布式消息队列Kafka统一接入数据,通过Kafka将数据源格式进行统一,方便数据清洗统一处理。多个计算节点采用分布式并列形式部署,能够根据需求动态横向扩展,面对大批量数据有很强的鲁棒性。通过拖拽式设计清洗流程可以满足大部分清洗流程工作,具有很强的通用性。

【技术实现步骤摘要】
基于流式计算的海量数据清洗的方法
本专利技术属于大数据ETL领域,更具体地涉及一种基于流式计算的海量数据清洗的方法。
技术介绍
近几年随着信息化水平的不断提高,数据呈现爆炸式增长,进入大数据时代。大数据具有大量(Volume)、多样(Variety)、高速(Velocity)、价值(Value)和真实性(Veracity)等的5V特征。大数据的来临改变了很多传统工作方式,其中就包括ETL,ETL即数据抽取(Extract)、转换(Transform)、清洗(Cleaning)、装载(Loading)等过程,是数据仓库建设的重要环节,负责整个数据仓库的调度。其效率和清洗数据质量的高低直接决定数据仓库建设和决策的正确性。因此,一个高性能可扩展的数据清洗框架对数据仓库的构建有着重要作用。目前数据清洗主要面临以下几个问题:(1)数据清洗性能低。传统的数据清洗方式是针对于小批量的数据清洗。在大数据时代数据很可能每天成TB级别数据增加,加上有些清洗算法消耗很高的计算能力,导致传统的数据清洗时间异常缓慢,甚至很难正常运行。(2)数据源多样且复杂,清洗流程复杂。大数据的多样性的特性决定需要清洗数据源的复杂多样。数据仓库中的数据往往来源于许多不同的系统,每个系统又包含多个模块,每个模块又包含单独的数据源,不仅包括结构化数据还包括各种复杂的半结构化数据。数据清洗是一个复杂的流程,中间可能会有多个算子,比如合并,拆分,值替换,算法等。多种算子会按照一定的逻辑关系进行组合,形成清洗流程。传统方式只能针对每一个清洗流程进行开发程序,大大降低了清洗的通用性。因此,提供一种效率高通用性好的数据清洗方法是本领域亟待解决的问题。
技术实现思路
本专利技术的目的在于克服上述现有
技术介绍
的不足之处,而提供一种基于流式计算的海量数据清洗的方法。它具有效率高,通用性好的特点。本专利技术的目的是通过如下措施来达到的:基于流式计算的海量数据清洗的方法,其特征在于包括如下步骤:(1)异构数据源通过数据接入模块统一接入数据,并以统一的格式推送入消息队列Kafka中,等待数据清洗,并将接入情况反馈给调度中心;(2)配置清洗算子和设计算子流程图包括A:在调度中心的算子管理界面配置清洗算子;B:根据不同的清洗需求,将各种算子按照一定的顺序连接成的流程为算子流程图;(3)计算集群中的计算节点与调度中心通信,调用步骤(2)中设计的算子流程图,按照设计的算子流程图的流程进行清洗操作,并将清洗运行情况反馈给调度中心。在上述技术方案中,所述异构数据源包括关系型数据库,文本数据和Excel数据。在上述技术方案中,所述统一接入数据格式包括:A:数据的唯一标识uuid;B:数据源的唯一标识nameId;C:数据生成时间戳timestamp;D:字段名fields;E:数据内容datas。在上述技术方案中,所述清洗算子主要包括:A1:替换中文字符算子;A2:字典替换算子;A3:提取字段算子;A4:条件过滤算子;A5:去重算子;A6:输出算子。在上述技术方案中,所述算子流程图的节点类型主要包括:(1)开始节点,标志一个流程的开始;(2)算子节点,配置不同的算子;(3)判断节点,配置不同分支判断;(4)结束节点,标志一个流程的结束。在上述技术方案中,所述设计算子流程图主要步骤包括:(1)拖拽一个开始节点到画布;(2)拖拽算子节点到画布,并配置算子类型;(3)如果有判断节点,拖拽判断节点到画布;(4)拖拽结束节点到画布;(5)将所有节点按照算子的流程用线连接起来;(6)保存算子流程。在上述技术方案中,所述计算集群为多个计算节点组成,每个计算节点都可以运行单独的算子流程,计算节点可以根据计算需要来配制计算节点数量(即分布式部署)。在上述技术方案中,所述步骤(3)的数据清洗流程是:a:从Kafka消费数据,读取Kafka中的数据叫消费数据;b:判断是否需要清洗,是继续清洗,否结束;c:从调度中心读取算子流程图;d:利用JAVA的反射原理调用相关算子进行清洗操作;e:清洗后的数据进入数据仓库;f:数据清洗入库结果反馈给调度中心;g:结束。与现有技术相比,本专利技术具有下列优点和积极效果:(1)采用分布式消息队列Kafka统一接入数据,通过Kafka将数据源格式进行统一,解决多数据源复杂多样的问题,方便数据清洗统一处理。(2)多个计算节点采用分布式并列形式部署,能够根据需求动态横向扩展,面对大批量数据有很强的鲁棒性。(3)通过拖拽式设计清洗流程可以满足大部分清洗流程工作,具有很强的通用性。附图说明图1为本专利技术的技术架构图。图2为本专利技术的数据清洗流程图。具体实施方式下面结合附图详细说明本专利技术的实施情况,但它们并不构成对本专利技术的限定,仅作举例而已。同时通过说明本专利技术的优点将变得更加清楚和容易理解。参阅附图可知:基于流式计算的海量数据清洗的方法,其特征在于包括如下步骤:(1)异构数据源通过数据接入模块统一接入数据,并以统一的格式推送入消息队列Kafka中,等待数据清洗,并将接入情况反馈给调度中心;(2)配置清洗算子和设计算子流程图包括A:在调度中心的算子管理界面配置清洗算子;B:根据不同的清洗需求,将各种算子按照一定的顺序连接成的流程为算子流程图;(3)计算集群中的计算节点与调度中心通信,调用步骤(2)中设计的算子流程图,按照设计的算子流程图的流程进行清洗操作,并将清洗运行情况反馈给调度中心。所述异构数据源包括关系型数据库,文本数据和Excel数据。在上述技术方案中,所述统一接入数据格式包括:A:数据的唯一标识uuid;B:数据源的唯一标识nameId;C:数据生成时间戳timestamp;D:字段名fields;E:数据内容datas。所述清洗算子主要包括:A1:替换中文字符算子;A2:字典替换算子;A3:提取字段算子;A4:条件过滤算子;A5:去重算子;A6:输出算子。所述算子流程图的节点类型主要包括:(1)开始节点,标志一个流程的开始;(2)算子节点,配置不同的算子;(3)判断节点,配置不同分支判断;(4)结束节点,标志一个流程的结束。所述设计算子流程图主要步骤包括:(1)拖拽一个开始节点到画布;(2)拖拽算子节点到画布,并配置算子类型;(3)如果有判断节点,拖拽判断节点到画布;(4)拖拽结束节点到画布;(5)将所有节点按照算子的流程用线连接起来;(6)保本文档来自技高网
...

【技术保护点】
1.基于流式计算的海量数据清洗的方法,其特征在于包括如下步骤:/n(1)异构数据源通过数据接入模块统一接入数据,并以统一的格式推送入消息队列Kafka中,等待数据清洗,并将接入情况反馈给调度中心;/n(2)配置清洗算子和设计算子流程图包括/nA:在调度中心的算子管理界面配置清洗算子;/nB:根据不同的清洗需求,将各种算子按照一定的顺序连接成的流程为算子流程图;/n(3)计算集群中的计算节点与调度中心通信,调用步骤(2)中设计的算子流程图,按照设计的算子流程图的流程进行清洗操作,并将清洗运行情况反馈给调度中心。/n

【技术特征摘要】
1.基于流式计算的海量数据清洗的方法,其特征在于包括如下步骤:
(1)异构数据源通过数据接入模块统一接入数据,并以统一的格式推送入消息队列Kafka中,等待数据清洗,并将接入情况反馈给调度中心;
(2)配置清洗算子和设计算子流程图包括
A:在调度中心的算子管理界面配置清洗算子;
B:根据不同的清洗需求,将各种算子按照一定的顺序连接成的流程为算子流程图;
(3)计算集群中的计算节点与调度中心通信,调用步骤(2)中设计的算子流程图,按照设计的算子流程图的流程进行清洗操作,并将清洗运行情况反馈给调度中心。


2.根据权利要求1所述的所述的基于流式计算的海量数据清洗的方法,其特征在于所述异构数据源包括关系型数据库,文本数据和Excel数据。


3.根据权利要求1或2所述的基于流式计算的海量数据清洗的方法,其特征在于所述统一接入数据格式包括:
A:数据的唯一标识uuid;
B:数据源的唯一标识nameId;
C:数据生成时间戳timestamp;
D:字段名fields;
E:数据内容datas。


4.根据权利要求1或2所述的基于流式计算的海量数据清洗的方法,其特征在于所述清洗算子主要包括:
A1:替换中文字符算子;
A2:字典替换算子;
A3:提取字段算子;
A4:条件过滤算子;
A5:去重算子;
A6:输出算子。

<...

【专利技术属性】
技术研发人员:韩旭于起超马贵生罗登昌马丹璇
申请(专利权)人:长江岩土工程总公司武汉长江勘测规划设计研究有限责任公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1