本发明专利技术公开了一种基于python脚本的分布式大数据清洗方法,该方法包括如下步骤,首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作,对待清洗的数据进行分布式调度以及执行操作,对待清洗的数据进行请求以及对清洗结果进行回填,其中,步骤一具体分为如下步骤,数据加载,首先从HBase列存数据库加载所需要进行清洗的数据,制定清洗策略,设置数据清洗策略。本发明专利技术基于大数据技术,基于HBase列存储数据库做数据清洗,解决了海量数据清洗问题,采用python引擎及脚本做数据清洗,解决了传统SQL清洗规则少的问题和jar包清洗静态编码的问题,基于Spark的分布式计算引擎,并行执行脚本,解决了大数据清洗算力不足的问题。
【技术实现步骤摘要】
一种基于python脚本的分布式大数据清洗方法
本专利技术涉及数据清洗领域,具体涉及一种基于python脚本的分布式大数据清洗方法。
技术介绍
数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等,与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。现有的分布式大数据清洗方法,清洗能力较为有限,不能够针对大量的数据进行清洗,且现有的清洗方法基本都是采用SQL清洗规则,清洗规则较少,导致清洗效果较为一般,此外传统的清洗数据的方法清洗算力不足,因此,如何将打造一种基于python脚本的分布式大数据清洗方法成为一个亟待解决的问题。
技术实现思路
本专利技术所要解决的技术问题在于:现有的分布式大数据清洗方法,清洗能力较为有限,不能够针对大量的数据进行清洗,且现有的清洗方法基本都是采用SQL清洗规则,清洗规则较少,导致清洗效果较为一般,此外传统的清洗数据的方法清洗算力不足。本专利技术是通过以下技术方案解决上述技术问题的,一种基于python脚本的分布式大数据清洗方法,该方法包括如下步骤:步骤一:首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作;步骤二:对待清洗的数据进行分布式调度以及执行操作;步骤三:对待清洗的数据进行请求以及对清洗结果进行回填;其中,步骤一具体分为如下步骤:S1:数据加载,首先从HBase列存数据库加载所需要进行清洗的数据;S2:制定清洗策略,设置数据清洗策略;S3:根据S2制定的清洗策略,对所有待清洗的数据进行分片,并记录各个分片的信息;步骤二具体分为如下步骤:A1:调度策略,根据步骤一S2中制定的清洗策略,实现清洗任务的调度策略;A2:加载脚本,根据步骤一S2中制定的清洗策略,加载Python清洗脚本;A3:根据A1中的调度策略,生成调度任务,将调度任务绑定Python脚本引擎,并绑定清洗脚本;步骤三具体分为如下步骤:Y1:执行任务,根据步骤二A1中的调度策略,执行待清洗数据分布式调度任务;Y2:数据清洗,步骤A1中每个调度任务工作节点的执行器,通过绑定的Python脚本引擎执行数据清洗脚本;Y3:结果回填,将所清洗的数据的清洗结果,回填到HBase列存数据库的数据清洗目标表。优选的,S2中数据清洗策略包括清洗规则、清洗方法和对数据计算划分,将待清洗数据划分为N个任务,数据分片数量设为N,数据记录值设为C,每个数据切面为数据记录C除以数据分片K,K=C/N。优选的,在步骤A1中安装数据分片K,生成对应的K个计算任务,分布式计算引擎会分派计算任务到集群工作节点(SparkWorker),将节点数设为L,则每个节点分配T=K/L个调度任务。优选的,步骤A3绑定清洗脚本后生成根据每个调度任务生成对应的算子,算子加载到加载到执行器进程(ROSNode)。优选的,HBase列存数据库包括内置分区单元,其中,内置分区单元将HBase列存数据库分为区间C和区间D,步骤Y3所清洗的数据的清洗结果会回填到区间C中,未清洗的数据均储存在区间D中。优选的,步骤A1中调度策略制定后,由Spark驱动器进行调度策略的驱动,由集群集群管理器YARN对所有的集群工作节点进行统一管理。本专利技术相比现有技术具有以下优点:本专利技术基于大数据技术门,采用HBase列存数据库作为清洗数据的数据储存,进而可以解决海量数据清洗的问题,采用Python脚本引擎对清洗数据进行清理,解决了传统的采用SQL数据库清洗时,清洗规则较少,以及jar包清洗静态编码的问题,通过制定清洗策略对清洗规则、清洗方法和对数据计算划分进行限定,实现了多规则清洗数据的效果,提高数据清洗结果的准确性,通过采用集群管理器对集群工作节点进行分布式管理,采用Spark分布式计算引擎,从而可以对待清洗的数据进行分区清洗,解决了传统的撒数据清洗方法清洗能力不足的问题。附图说明图1是本专利技术的流程图。具体实施方式下面对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。如图1所示,本实施例提供一种技术方案:一种基于python脚本的分布式大数据清洗方法,该方法包括如下步骤:步骤一:首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作;步骤二:对待清洗的数据进行分布式调度以及执行操作;步骤三:对待清洗的数据进行请求以及对清洗结果进行回填;其中,步骤一具体分为如下步骤:S1:数据加载,首先从HBase列存数据库加载所需要进行清洗的数据;S2:制定清洗策略,设置数据清洗策略;S3:根据S2制定的清洗策略,对所有待清洗的数据进行分片,并记录各个分片的信息;步骤二具体分为如下步骤:A1:调度策略,根据步骤一S2中制定的清洗策略,实现清洗任务的调度策略;A2:加载脚本,根据步骤一S2中制定的清洗策略,加载Python清洗脚本;A3:根据A1中的调度策略,生成调度任务,将调度任务绑定Python脚本引擎,并绑定清洗脚本;步骤三具体分为如下步骤:Y1:执行任务,根据步骤二A1中的调度策略,执行待清洗数据分布式调度任务;Y2:数据清洗,步骤A1中每个调度任务工作节点的执行器,通过绑定的Python脚本引擎执行数据清洗脚本;Y3:结果回填,将所清洗的数据的清洗结果,回填到HBase列存数据库的数据清洗目标表。S2中数据清洗策略包括清洗规则、清洗方法和对数据计算划分,将待清洗数据划分为N个任务,数据分片数量设为N,数据记录值设为C,每个数据切面为数据记录C除以数据分片K,K=C/N。在步骤A1中安装数据分片K,生成对应的K个计算任务,分布式计算引擎会分派计算任务到集群工作节点(SparkWorker),将节点数设为L,则每个节点分配T=K/L个调度任务。步骤A3绑定清洗脚本后生成根据每个调度任务生成对应的算子,算子加载到加载到执行器进程(ROSNode)。HBase列存数据库包括内置分区单元,其中,内置分区单元将HBase列存数据库分为区间C和区间D,步骤Y3所清洗的数据的清洗结果会回填到区间C中,未清洗的数据均储存在区间D中。步骤A1中调度策略制定后,由Spark驱动器进行调度策略的驱动,由集群集群管理器YARN对所有的集群工作节点进行统一管理。本专利技术在使用时,具体包括如下步骤:步骤一:首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作;S1:数据加载,首先从HBase列存数据库加载所需要进行清洗的数据;S2:制定清洗策略,设置数据清洗策略;S3:根据S2制定的清洗策略,对所有待清洗的数据进行分片,并记录各个分片的信息;<本文档来自技高网...
【技术保护点】
1.一种基于python脚本的分布式大数据清洗方法,其特征在于,该方法包括如下步骤:/n步骤一:首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作;/n步骤二:对待清洗的数据进行分布式调度以及执行操作;/n步骤三:对待清洗的数据进行请求以及对清洗结果进行回填;/n其中,步骤一具体分为如下步骤:/nS1:数据加载,首先从HBase列存数据库加载所需要进行清洗的数据;/nS2:制定清洗策略,设置数据清洗策略;/nS3:根据S2制定的清洗策略,对所有待清洗的数据进行分片,并记录各个分片的信息;/n步骤二具体分为如下步骤:/nA1:调度策略,根据步骤一S2中制定的清洗策略,实现清洗任务的调度策略;/nA2:加载脚本,根据步骤一S2中制定的清洗策略,加载Python清洗脚本;/nA3:根据A1中的调度策略,生成调度任务,将调度任务绑定Python脚本引擎,并绑定清洗脚本;/n步骤三具体分为如下步骤:/nY1:执行任务,根据步骤二A1中的调度策略,执行待清洗数据分布式调度任务;/nY2:数据清洗,步骤A1中每个调度任务工作节点的执行器,通过绑定的Python脚本引擎执行数据清洗脚本;/nY3:结果回填,将所清洗的数据的清洗结果,回填到HBase列存数据库的数据清洗目标表。/n...
【技术特征摘要】
1.一种基于python脚本的分布式大数据清洗方法,其特征在于,该方法包括如下步骤:
步骤一:首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作;
步骤二:对待清洗的数据进行分布式调度以及执行操作;
步骤三:对待清洗的数据进行请求以及对清洗结果进行回填;
其中,步骤一具体分为如下步骤:
S1:数据加载,首先从HBase列存数据库加载所需要进行清洗的数据;
S2:制定清洗策略,设置数据清洗策略;
S3:根据S2制定的清洗策略,对所有待清洗的数据进行分片,并记录各个分片的信息;
步骤二具体分为如下步骤:
A1:调度策略,根据步骤一S2中制定的清洗策略,实现清洗任务的调度策略;
A2:加载脚本,根据步骤一S2中制定的清洗策略,加载Python清洗脚本;
A3:根据A1中的调度策略,生成调度任务,将调度任务绑定Python脚本引擎,并绑定清洗脚本;
步骤三具体分为如下步骤:
Y1:执行任务,根据步骤二A1中的调度策略,执行待清洗数据分布式调度任务;
Y2:数据清洗,步骤A1中每个调度任务工作节点的执行器,通过绑定的Python脚本引擎执行数据清洗脚本;
Y3:结果回填,将所清洗的数据的清洗结果,回填到HBase列存数据库的数据清洗目标表。
2.根据权利要求1所述的一种基于python脚本...
【专利技术属性】
技术研发人员:鲁红军,
申请(专利权)人:陕西云基华海信息技术有限公司,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。