CN112115127A - 一种基于python脚本的分布式大数据清洗方法 - Google Patents

一种基于python脚本的分布式大数据清洗方法 Download PDF

Info

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
Application number
CN202010938368.8A
Other languages
English (en)
Other versions
CN112115127B (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.)
Yunji Huahai Information Technology Co ltd
Original Assignee
Shaanxi Yunji Huahai Information Technology Co ltd
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 Shaanxi Yunji Huahai Information Technology Co ltd filed Critical Shaanxi Yunji Huahai Information Technology Co ltd
Priority to CN202010938368.8A priority Critical patent/CN112115127B/zh
Publication of CN112115127A publication Critical patent/CN112115127A/zh
Application granted granted Critical
Publication of CN112115127B publication Critical patent/CN112115127B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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脚本的分布式大数据清洗方法
技术领域
本发明涉及数据清洗领域,具体涉及一种基于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对所有的集群工作节点进行统一管理。
CN202010938368.8A 2020-09-09 2020-09-09 一种基于python脚本的分布式大数据清洗方法 Active CN112115127B (zh)

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)

* Cited by examiner, † Cited by third party
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 华东电力试验研究院有限公司 一种基于数字化发展下的分布式发电监测技术

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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