CN110795423A - 一种快速清洗、转换的数据抽取方法 - Google Patents
一种快速清洗、转换的数据抽取方法 Download PDFInfo
- Publication number
- CN110795423A CN110795423A CN201910901424.8A CN201910901424A CN110795423A CN 110795423 A CN110795423 A CN 110795423A CN 201910901424 A CN201910901424 A CN 201910901424A CN 110795423 A CN110795423 A CN 110795423A
- Authority
- CN
- China
- Prior art keywords
- data
- data blocks
- processor
- blocks
- conversion
- 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.)
- Pending
Links
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种快速清洗、转换的数据抽取方法,涉及数据抽取技术领域。本发明包括读取数据内容到内存数据库中,将数据内容分组形成若干数据段,建立多线程并为每个线程分配待处理数据块,各线程独立对数据块完成清洗和转换,将转换后的数据块合并存储到内存数据库中。本发明通过任务调度处理器判断当前线程内当前数据段与其他数据块是否存在汇总关联;若存在,在数据块清洗后对汇总关联的若干数据块汇总并重新拆分形成新数据块,并采用多线程对新数据块转换;若不存在,直接对当前数据块进行清洗、转换;最后待所有数据块清洗转换完成后,通过数据合并处理器合并,提高数据抽取效率,适用于海量数据的清洗和转换。
Description
技术领域
本发明属于数据抽取技术领域,特别是涉及一种快速清洗、转换的数据抽取方法。
背景技术
数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL是企业数据集成的主要解决方案。ETL中三个字母分别代表的是Extract、Transform、Load,即抽取、转换、加载。数据抽取是从数据源中抽取数据的过程。实际应用中,数据源有传统的关系型数据库、也有非关系型数据库,现有的ETL工具在抽取的方面已经做的很全面,支持数据库类型很全面;现在数据抽取速度的瓶颈主要有数据源提供数据的性能、数据清洗、数据转换、数据加载四个方面决定了数据集成的整体的性能。
现有的NiFi能够对数据源抽取的数据进行清洗、转换,其实现数据的处理是以数据流的方式对数据进行处理;存在如下弊端:a、非内存数据库;b、数据清洗、数据转换都是一条一条的调用清洗规则、转换规则进行处理的;数据清洗、数据转换一条一条执行,影响数据处理速度,在大数据背景下很难满足当下的数据处理需求。
本发明提供一种快速清洗、转换的数据抽取方法,通过将数据读入内存数据库中,然后通过数据分组算法完成数据切分,生成多个任务并发执行,最后结果汇总输出,提高数据处理速度,适用于海量数据的处理。
发明内容
本发明的目的在于提供一种快速清洗、转换的数据抽取方法,通过任务调度处理器判断当前线程内当前数据段与其他数据块是否存在汇总关联;若存在,在数据块清洗后对汇总关联的若干数据块汇总并重新拆分形成新数据块,并采用多线程对新数据块转换;若不存在,直接对当前数据块进行清洗、转换;最后待所有数据块清洗转换完成后,通过数据合并处理器合并,提高数据抽取效率,适用于海量数据的清洗和转换。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种快速清洗、转换的数据抽取方法,包括如下步骤:
S00:通过数据读取处理器读取数据内容到内存数据库中;
其中,所述数据内容包括存储数据和内存数据库的连接配置信息;
S01:通过数据拆分处理器将数据内容分组形成若干数据段;
S02:通过任务调度处理器建立多线程并为每个线程分配待处理数据块;
S03:所述任务调度处理器判断当前线程内当前数据段与其他数据块是否存在汇总关联;若是,则执行S04;若是,则执行S07;
S04:采用清洗执行器对数据块清洗后,所述任务调度处理器将具有汇总关联的若干数据块汇总形成汇总数据;
S05:所述任务调度处理器调用数据拆分器对汇总数据拆分形成若干新数据块;
S06:所述任务调度处理器建立多线程并为每个线程分配待处理的新数据块并调用转换处理器对新数据块转换;
S07:所述任务调度处理器调度清洗执行器对当前数据块清洗后再调度转换执行器对当前数据进行数据转换;
S08:通过数据合并处理器对全部完成转换的数据块进行合并形成合并数据;
S09:将抽取的所述合并数据存储到内存数据库中。
优选地,S00中所述数据读取处理器,用于从数据库或前输出节点将数据内容读取到内存数据库中。
优选地,S01中所述数据拆分处理器,根据连接配置信息对存储数据按照条数或字节大小拆分成若干数据段。
本发明具有以下有益效果:
本发明通过任务调度处理器判断当前线程内当前数据段与其他数据块是否存在汇总关联;若存在,在数据块清洗后对汇总关联的若干数据块汇总并重新拆分形成新数据块,并采用多线程对新数据块转换;若不存在,直接对当前数据块进行清洗、转换;最后待所有数据块清洗转换完成后,通过数据合并处理器合并,提高数据抽取效率,适用于海量数据的清洗和转换。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种快速清洗、转换的数据抽取方法的流程图;
图2为本发明中数据源管理界面的示意图;
图3为本发明中选择数据源类型界面的示意图;
图4为本发明中配置mysql数据库界面示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
具体实施例一:
请参阅图1所示,本发明为一种快速清洗、转换的数据抽取方法,包括如下步骤:
S00:通过数据读取处理器读取数据内容到内存数据库中;
其中,所述数据内容包括存储数据和内存数据库的连接配置信息;所述数据读取处理器,用于从数据库或前输出节点将数据内容读取到内存数据库中;
具体的,数据源连接信息有元数据管理模块进行管理,数据源配置过程如下:请参阅图2所示,电机矩形框中的添加数据源按钮,进入到如图3所示的选择数据源类型,选择以mysql为例,进入到如图4所示界面,填写数据库ip,端口号,用户名,密码,数据库名称,数据库编码集;这样就完成了mysql数据源的配置;其他类型的数据源如内存数据库同理可以配置;
S01:通过数据拆分处理器将数据内容分组形成若干数据段;其中,所述数据拆分处理器,根据连接配置信息对存储数据按照条数或字节大小拆分成若干数据段;
具体的:通过数据源配置信息获取数据源连接信息;清洗、转换之前进行数据抽取,在数据抽取中产生数据的总记录数;一般按10000条记录分成一个数据块,这样的好处很容易保证每一条数据记录的完整性;按字节大小拆分时,需要考虑到记录的完整性,所以数据块的大小并不是精确等于设定值的;在指定大小的位置上,如果对应的记录没有结束,需要将该记录作为最后一条记录放在该数据块中;下一个数据块从下一条记录开始。数据拆分通过这样的方式实现;
S02:通过任务调度处理器建立多线程并为每个线程分配待处理数据块;
具体的,每一个线程同一个时间只接收一个数据块进行处理;在处理完成之后会进入空闲状态;任务调度处理器,如果还有数据块需要处理会将数据块下发给空闲的线程:
S03:所述任务调度处理器判断当前线程内当前数据段与其他数据块是否存在汇总关联;若是,则执行S04;若是,则执行S07;
S04:采用清洗执行器对数据块清洗后,所述任务调度处理器将具有汇总关联的若干数据块汇总形成汇总数据;
S05:所述任务调度处理器调用数据拆分器对汇总数据拆分形成若干新数据块;
S06:所述任务调度处理器建立多线程并为每个线程分配待处理的新数据块并调用转换处理器对新数据块转换;
具体的,线程放在线程池中管理;服务启动以后,自动配置线程池,申请一定数量(一般为10)的线程;其中,清洗、转换的线程池是分开的,管理简单,调度方便;数据处理完之后,线程会回到线程池,处于空闲状态;
S07:所述任务调度处理器调度清洗执行器对当前数据块清洗后再调度转换执行器对当前数据进行数据转换;
S08:通过数据合并处理器对全部完成转换的数据块进行合并形成合并数据;
S09:将抽取的所述合并数据存储到内存数据库中。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (3)
1.一种快速清洗、转换的数据抽取方法,其特征在于,包括如下步骤:
S00:通过数据读取处理器读取数据内容到内存数据库中;
其中,所述数据内容包括存储数据和内存数据库的连接配置信息;
S01:通过数据拆分处理器将数据内容分组形成若干数据段;
S02:通过任务调度处理器建立多线程并为每个线程分配待处理数据块;
S03:所述任务调度处理器判断当前线程内当前数据段与其他数据块是否存在汇总关联;若是,则执行S04;若是,则执行S07;
S04:采用清洗执行器对数据块清洗后,所述任务调度处理器将具有汇总关联的若干数据块汇总形成汇总数据;
S05:所述任务调度处理器调用数据拆分器对汇总数据拆分形成若干新数据块;
S06:所述任务调度处理器建立多线程并为每个线程分配待处理的新数据块并调用转换处理器对新数据块转换;
S07:所述任务调度处理器调度清洗执行器对当前数据块清洗后再调度转换执行器对当前数据进行数据转换;
S08:通过数据合并处理器对全部完成转换的数据块进行合并形成合并数据;
S09:将抽取的所述合并数据存储到内存数据库中。
2.根据权利要求1所述的一种快速清洗、转换的数据抽取方法,其特征在于,S00中所述数据读取处理器,用于从数据库或前输出节点将数据内容读取到内存数据库中。
3.根据权利要求1所述的一种快速清洗、转换的数据抽取方法,其特征在于,S01中所述数据拆分处理器,根据连接配置信息对存储数据按照条数或字节大小拆分成若干数据段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910901424.8A CN110795423A (zh) | 2019-09-23 | 2019-09-23 | 一种快速清洗、转换的数据抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910901424.8A CN110795423A (zh) | 2019-09-23 | 2019-09-23 | 一种快速清洗、转换的数据抽取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110795423A true CN110795423A (zh) | 2020-02-14 |
Family
ID=69439677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910901424.8A Pending CN110795423A (zh) | 2019-09-23 | 2019-09-23 | 一种快速清洗、转换的数据抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795423A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611232A (zh) * | 2020-05-20 | 2020-09-01 | 浩云科技股份有限公司 | 一种大数据清洗方法及装置 |
CN112910842A (zh) * | 2021-01-14 | 2021-06-04 | 中国电子科技集团公司第十五研究所 | 一种基于流量还原的网络攻击事件取证方法与装置 |
CN114297273A (zh) * | 2021-12-03 | 2022-04-08 | 杭州数梦工场科技有限公司 | 一种数据抽取方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897876A (zh) * | 2018-06-29 | 2018-11-27 | 中科鼎富(北京)科技发展有限公司 | 一种数据接入方法及装置 |
-
2019
- 2019-09-23 CN CN201910901424.8A patent/CN110795423A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897876A (zh) * | 2018-06-29 | 2018-11-27 | 中科鼎富(北京)科技发展有限公司 | 一种数据接入方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611232A (zh) * | 2020-05-20 | 2020-09-01 | 浩云科技股份有限公司 | 一种大数据清洗方法及装置 |
CN112910842A (zh) * | 2021-01-14 | 2021-06-04 | 中国电子科技集团公司第十五研究所 | 一种基于流量还原的网络攻击事件取证方法与装置 |
CN112910842B (zh) * | 2021-01-14 | 2021-10-01 | 中国电子科技集团公司第十五研究所 | 一种基于流量还原的网络攻击事件取证方法与装置 |
CN114297273A (zh) * | 2021-12-03 | 2022-04-08 | 杭州数梦工场科技有限公司 | 一种数据抽取方法及装置 |
CN114297273B (zh) * | 2021-12-03 | 2024-10-25 | 杭州数梦工场科技有限公司 | 一种数据抽取方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107169083B (zh) | 公安卡口海量车辆数据存储与检索方法及装置、电子设备 | |
CN110019218B (zh) | 数据存储与查询方法及设备 | |
CN106202235B (zh) | 一种数据处理方法及装置 | |
CN110795423A (zh) | 一种快速清洗、转换的数据抽取方法 | |
CN110674154B (zh) | 一种基于Spark的对Hive中数据进行插入、更新和删除的方法 | |
WO2020192064A1 (zh) | 一种增量数据一致性实现方法及装置 | |
CN108683692B (zh) | 一种业务请求处理方法及装置 | |
US9256665B2 (en) | Creation of inverted index system, and data processing method and apparatus | |
CN112256656B (zh) | 事务回滚方法及装置、数据库、系统、计算机存储介质 | |
CN103365852A (zh) | 一种文档库系统中的并发控制方法及系统 | |
CN110955704A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
CN107832323B (zh) | 一种基于图数据库的分布式实现系统及方法 | |
CN110928851A (zh) | 处理日志信息的方法、装置、设备及存储介质 | |
CN111737203A (zh) | 数据库历史日志回溯方法、装置、系统、设备及存储介质 | |
CN115033646A (zh) | 一种基于Flink&Doris构建实时数仓系统的方法 | |
CN111008218A (zh) | 区块链链上数据结构化存储方法及系统 | |
CN112579552A (zh) | 日志存储及调用方法、装置及系统 | |
CN110990472B (zh) | 基于Hbase的数据导出方法及装置 | |
CN116049193A (zh) | 数据存储方法及装置 | |
EP3550451A1 (en) | Data storage and maintenance method and device, and computer storage medium | |
CN113051301B (zh) | 一种对象存储方法、系统及设备 | |
CN113037617B (zh) | 通讯应用中协作统计方法、系统、电子设备及存储介质 | |
WO2022001626A1 (zh) | 注入时序数据的方法、查询时序数据的方法及数据库系统 | |
CN115033590A (zh) | 一种多域数据融合的方法、装置和存储介质 | |
CN114297236A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200214 |