CN112115127A - 一种基于python脚本的分布式大数据清洗方法 - Google Patents
一种基于python脚本的分布式大数据清洗方法 Download PDFInfo
- Publication number
- CN112115127A CN112115127A CN202010938368.8A CN202010938368A CN112115127A CN 112115127 A CN112115127 A CN 112115127A CN 202010938368 A CN202010938368 A CN 202010938368A CN 112115127 A CN112115127 A CN 112115127A
- Authority
- CN
- China
- Prior art keywords
- data
- cleaning
- cleaned
- script
- scheduling
- 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 107
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000012634 fragment Substances 0.000 claims description 6
- 238000005192 partition Methods 0.000 claims description 6
- 238000013467 fragmentation Methods 0.000 claims description 4
- 238000006062 fragmentation reaction Methods 0.000 claims description 4
- 238000005406 washing Methods 0.000 claims 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000003068 static effect Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
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
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明公开了一种基于python脚本的分布式大数据清洗方法,该方法包括如下步骤,首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作,对待清洗的数据进行分布式调度以及执行操作,对待清洗的数据进行请求以及对清洗结果进行回填,其中,步骤一具体分为如下步骤,数据加载,首先从HBase列存数据库加载所需要进行清洗的数据,制定清洗策略,设置数据清洗策略。本发明基于大数据技术,基于HBase列存储数据库做数据清洗,解决了海量数据清洗问题,采用python引擎及脚本做数据清洗,解决了传统SQL清洗规则少的问题和jar包清洗静态编码的问题,基于Spark的分布式计算引擎,并行执行脚本,解决了大数据清洗算力不足的问题。
Description
技术领域
本发明涉及数据清洗领域,具体涉及一种基于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个计算任务,分布式计算引擎会分派计算任务到集群工作节点(Spark Worker),将节点数设为L,则每个节点分配T=K/L个调度任务。
优选的,步骤A3绑定清洗脚本后生成根据每个调度任务生成对应的算子,算子加载到加载到执行器进程(ROS Node)。
优选的,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个计算任务,分布式计算引擎会分派计算任务到集群工作节点(Spark Worker),将节点数设为L,则每个节点分配T=K/L个调度任务。
步骤A3绑定清洗脚本后生成根据每个调度任务生成对应的算子,算子加载到加载到执行器进程(ROS Node)。
HBase列存数据库包括内置分区单元,其中,内置分区单元将HBase列存数据库分为区间C和区间D,步骤Y3所清洗的数据的清洗结果会回填到区间C中,未清洗的数据均储存在区间D中。
步骤A1中调度策略制定后,由Spark驱动器进行调度策略的驱动,由集群集群管理器YARN对所有的集群工作节点进行统一管理。
本发明在使用时,具体包括如下步骤:
步骤一:首先对待清洗的数据的加载,再对加载后的待清洗的数据进行分片操作;
S1:数据加载,首先从HBase列存数据库加载所需要进行清洗的数据;
S2:制定清洗策略,设置数据清洗策略;
S3:根据S2制定的清洗策略,对所有待清洗的数据进行分片,并记录各个分片的信息;
步骤二:对待清洗的数据进行分布式调度以及执行操作;
A1:调度策略,根据步骤一S2中制定的清洗策略,实现清洗任务的调度策略;
A2:加载脚本,根据步骤一S2中制定的清洗策略,加载Python清洗脚本;
A3:根据A1中的调度策略,生成调度任务,将调度任务绑定Python脚本引擎,并绑定清洗脚本;
步骤三:对待清洗的数据进行请求以及对清洗结果进行回填;
Y1:执行任务,根据步骤二A1中的调度策略,执行待清洗数据分布式调度任务;
Y2:数据清洗,步骤A1中每个调度任务工作节点的执行器,通过绑定的Python脚本引擎执行数据清洗脚本;
Y3:结果回填,将所清洗的数据的清洗结果,回填到HBase列存数据库的数据清洗目标表,清洗完成。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (6)
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脚本的分布式大数据清洗方法,其特征在于:S2中数据清洗策略包括清洗规则、清洗方法和对数据计算划分,将待清洗数据划分为N个任务,数据分片数量设为N,数据记录值设为C,每个数据切面为数据记录C除以数据分片K,K=C/N。
3.根据权利要求1所述的一种基于python脚本的分布式大数据清洗方法,其特征在于:在步骤A1中安装数据分片K,生成对应的K个计算任务,分布式计算引擎会分派计算任务到集群工作节点(Spark Worker),将节点数设为L,则每个节点分配T=K/L个调度任务。
4.根据权利要求1所述的一种基于python脚本的分布式大数据清洗方法,其特征在于:步骤A3绑定清洗脚本后生成根据每个调度任务生成对应的算子,算子加载到加载到执行器进程(ROS Node)。
5.根据权利要求1所述的一种基于python脚本的分布式大数据清洗方法,其特征在于:HBase列存数据库包括内置分区单元,其中,内置分区单元将HBase列存数据库分为区间C和区间D,步骤Y3所清洗的数据的清洗结果会回填到区间C中,未清洗的数据均储存在区间D中。
6.根据权利要求1所述的一种基于python脚本的分布式大数据清洗方法,其特征在于:步骤A1中调度策略制定后,由Spark驱动器进行调度策略的驱动,由集群集群管理器YARN对所有的集群工作节点进行统一管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010938368.8A CN112115127B (zh) | 2020-09-09 | 2020-09-09 | 一种基于python脚本的分布式大数据清洗方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010938368.8A CN112115127B (zh) | 2020-09-09 | 2020-09-09 | 一种基于python脚本的分布式大数据清洗方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112115127A true CN112115127A (zh) | 2020-12-22 |
CN112115127B CN112115127B (zh) | 2023-03-03 |
Family
ID=73802368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010938368.8A Active CN112115127B (zh) | 2020-09-09 | 2020-09-09 | 一种基于python脚本的分布式大数据清洗方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115127B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052665A (zh) * | 2017-12-29 | 2018-05-18 | 深圳市中易科技有限责任公司 | 一种基于分布式平台的数据清洗方法及装置 |
US10146694B1 (en) * | 2017-04-28 | 2018-12-04 | EMC IP Holding Company LLC | Persistent cache layer in a distributed file system |
CN109684082A (zh) * | 2018-12-11 | 2019-04-26 | 中科恒运股份有限公司 | 基于规则算法的数据清洗方法及*** |
CN109740037A (zh) * | 2019-01-02 | 2019-05-10 | 山东省科学院情报研究所 | 多源、异构流态大数据分布式在线实时处理方法及*** |
CN110019152A (zh) * | 2017-07-27 | 2019-07-16 | 润泽科技发展有限公司 | 一种大数据清洗方法 |
CN110363383A (zh) * | 2019-06-03 | 2019-10-22 | 华东电力试验研究院有限公司 | 一种基于数字化发展下的分布式发电监测技术 |
-
2020
- 2020-09-09 CN CN202010938368.8A patent/CN112115127B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146694B1 (en) * | 2017-04-28 | 2018-12-04 | EMC IP Holding Company LLC | Persistent cache layer in a distributed file system |
CN110019152A (zh) * | 2017-07-27 | 2019-07-16 | 润泽科技发展有限公司 | 一种大数据清洗方法 |
CN108052665A (zh) * | 2017-12-29 | 2018-05-18 | 深圳市中易科技有限责任公司 | 一种基于分布式平台的数据清洗方法及装置 |
CN109684082A (zh) * | 2018-12-11 | 2019-04-26 | 中科恒运股份有限公司 | 基于规则算法的数据清洗方法及*** |
CN109740037A (zh) * | 2019-01-02 | 2019-05-10 | 山东省科学院情报研究所 | 多源、异构流态大数据分布式在线实时处理方法及*** |
CN110363383A (zh) * | 2019-06-03 | 2019-10-22 | 华东电力试验研究院有限公司 | 一种基于数字化发展下的分布式发电监测技术 |
Non-Patent Citations (1)
Title |
---|
朱亚林: ""基于Python的分布式文件共享***的实现"" * |
Also Published As
Publication number | Publication date |
---|---|
CN112115127B (zh) | 2023-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417063B2 (en) | Artificial creation of dominant sequences that are representative of logged events | |
US6865585B1 (en) | Method and system for multiprocessor garbage collection | |
US7698602B2 (en) | Systems, methods and computer products for trace capability per work unit | |
US7137120B2 (en) | Dynamic diagnostic program for determining thread wait time | |
CN102141963B (zh) | 一种数据分析方法和设备 | |
US9229858B2 (en) | Concurrent garbage collector thread | |
Ji et al. | ispan: Parallel identification of strongly connected components with spanning trees | |
US20070156786A1 (en) | Method and apparatus for managing event logs for processes in a digital data processing system | |
US8301751B2 (en) | Generation of a master schedule for a resource from a plurality of user created schedules for the resource | |
KR101574451B1 (ko) | 트랜잭션 메모리 시스템 내구성 부여 | |
Dehne et al. | Efficient external memory algorithms by simulating coarse-grained parallel algorithms | |
US9864646B2 (en) | Managing spaces in memory | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
WO2015094315A1 (en) | Discarding data points in a time series | |
US20120136879A1 (en) | Systems and methods for filtering interpolated input data based on user-supplied or other approximation constraints | |
CN108958973A (zh) | 分布式文件***纠删码数据重构存储节点选择方法及装置 | |
Mahgoub et al. | Suitability of nosql systems—cassandra and scylladb—for iot workloads | |
CN112115127B (zh) | 一种基于python脚本的分布式大数据清洗方法 | |
CN108664322A (zh) | 数据处理方法及*** | |
CN104598171B (zh) | 基于元数据的阵列重建方法及装置 | |
CN116233144A (zh) | 一种云场景下强制同节点云主机批量撤离方法与*** | |
CN115269558A (zh) | 数据存储方法、装置、设备、存储介质和程序产品 | |
Albonico et al. | Generating test sequences to assess the performance of elastic cloud-based systems | |
US7302542B1 (en) | Mechanism for dynamically-allocated variables in an arbitrary-context tracing framework | |
US9483560B2 (en) | Data analysis control |
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 | ||
CP03 | Change of name, title or address |
Address after: Room 11601, Building 12, Taihua Jinmao International, No. 16 Fenghui South Road, High tech Zone, Xi'an City, Shaanxi Province, 710065 Patentee after: Yunji Huahai Information Technology Co.,Ltd. Country or region after: China Address before: Room 10603, Haijia Yunding commercial and residential building, No.2, Gaoxin Third Road, hi tech Zone, Xi'an City, Shaanxi Province Patentee before: SHAANXI YUNJI HUAHAI INFORMATION TECHNOLOGY CO.,LTD. Country or region before: China |
|
CP03 | Change of name, title or address |