CN105205105B - 一种基于storm的数据ETL系统及处理方法 - Google Patents

一种基于storm的数据ETL系统及处理方法 Download PDF

Info

Publication number
CN105205105B
CN105205105B CN201510533323.1A CN201510533323A CN105205105B CN 105205105 B CN105205105 B CN 105205105B CN 201510533323 A CN201510533323 A CN 201510533323A CN 105205105 B CN105205105 B CN 105205105B
Authority
CN
China
Prior art keywords
data
etl
controller module
storm
distributed computing
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.)
Active
Application number
CN201510533323.1A
Other languages
English (en)
Other versions
CN105205105A (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.)
Inspur Computer Technology Co Ltd
Original Assignee
Inspur Group 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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201510533323.1A priority Critical patent/CN105205105B/zh
Publication of CN105205105A publication Critical patent/CN105205105A/zh
Application granted granted Critical
Publication of CN105205105B publication Critical patent/CN105205105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Refuse Collection And Transfer (AREA)
  • Processing Of Solid Wastes (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种基于storm的数据ETL系统及处理方法,属于数据ETL管理技术领域;本发明系统分为控制器模块、连接器模块和分布式计算引擎;控制器模块负责接收用户命令,解析命令设置并启动数据ETL任务;连接器模块内置关系型数据库、Hbase数据库和HDFS的连接驱动,供分布式计算引擎在连接数据源和目标数据存储的时候调用;采用storm作为分布式计算引擎,接收控制模块设置的参数,进行数据ETL任务。实现用户无需编写storm代码,只需输入命令,控制器模块负责解析用户命令,并且自动设置storm并发起ETL任务;将所有可支持的数据源和目标数据存储的连接驱动都封装在连接器中,供控制器自动选择调用。

Description

一种基于storm的数据ETL系统及处理方法
技术领域
本发明公开一种基于storm的数据ETL系统及处理方法,属于数据ETL管理技术领域。
背景技术
数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL 是企业数据集成的主要解决方案。ETL 中三个字母分别代表的是Extract、Transform、Load,即抽取、转换、加载。数据抽取是从数据源中抽取数据的过程。随着企业数据量的不断增加,原始关系型数据库已经无法满足用户的需求,需要往能够横向扩展的数据仓库,例如hadoop或者MPP架构的平台上进行数据迁移。从数据库中抽取数据的方式一般为直接导出备份数据和通过JDBC(Java Data Base Connectivity)等接口读数据等方式。其中通过JDBC等接口读取的方式比较灵活,但是通过JDBC等接口抽取数据的方式如果不采用多线程并行的话效率会很低,特别是大数据时代经常需要抽取上亿条数据的数据库表的情况,导致JDBC效率不高。目前从经济和效率综合考虑,主流的大数据平台利用ETL工具进行数据的迁移,但是基于流数据处理框架的ETL工具目前还没有成型的产品。本发明提供一种基于storm的数据ETL系统及处理方法,利用storm作为数据ETL的计算引擎,并且利用控制器与用户交互,用户无需编写代码,只需输入命令就可实现利用storm进行数据的ETL操作,并且自动设置storm并发起ETL任务;将所有可支持的数据源和目标数据存储的连接驱动都封装在连接器中,供控制器自动选择调用,本发明系统及处理方法应用于利用流数据框架将关系型数据库中的数据集成到数据仓库中具有很强的实用性。
发明内容
本发明针对基于流数据处理框架的ETL工具目前还没有成型的产品,不能很好的解决大量流数据迁移的问题,提供一种基于storm的数据ETL系统及处理方法,应用于利用流数据框架将关系型数据库中的数据集成到数据仓库中具有很强的实用性。
本发明提出的具体方案是:
一种基于storm的数据ETL系统,包括控制器模块、连接器模块和分布式计算引擎;
控制器模块负责接收用户输入信息,替分布式计算引擎选择数据源和目标数据存储的连接器,设置分布式计算引擎的ETL拓扑结构,设置完成后调用分布式计算引擎发起ETL任务;
连接器模块内置关系型数据库、 Hbase数据库和HDFS的连接驱动,供分布式计算引擎在连接数据源和目标数据存储时调用;
分布式计算引擎采用分布式的流数据处理框架storm进行ETL处理,由控制器模块配置并发起任务,负责数据的抽取、清洗和加载任务,将数据写入目标数据存储。
所述拓扑结构包括执行的线程数、每个线程需要抽取的数据源划分、需要清洗的数据字段等。
一种基于storm的数据ETL处理方法,利用所述一种基于storm的数据ETL系统,控制器模块解析用户输入信息,从连接器模块中选择数据源和目标存储的连接驱动,控制器模块配置分布式计算引擎的拓扑结构,分配连接驱动并启动ETL任务;分布式计算引擎从数据源抽取数据,进行数据清洗,然后将数据写入目标数据存储。
所述的用户输入信息包括sql语句、数据源表名、数据源连接字符串、目标数据存储的连接字符串、执行ETL的线程数、目标数据的字段分隔符和换行符等。
所述的控制器模块配置分布式计算引擎的拓扑结构的过程为:控制器模块查询数据源表的总条数,对sql语句进行改写,根据用户输入的线程数设置每个ETL线程的数据边界,控制器模块从关系型数据库中抽取数据的spout、负责清洗数据的bolt和往目标数据存储写数据的bolt,将连接驱动分别赋给spout和写目标数据的bolt,完成storm的spout和bolt的拓扑结构的配置。
本发明的有益之处是:
本发明提供了一种基于storm的数据ETL系统及处理方法,系统分为控制器模块、连接器模块和分布式计算引擎;控制器模块负责接收用户命令,解析命令设置并启动数据ETL任务;连接器模块内置关系型数据库、 Hbase数据库和HDFS的连接驱动,供分布式计算引擎在连接数据源和目标数据存储的时候调用;采用storm作为分布式计算引擎,接收控制模块设置的参数,进行数据ETL任务。实现用户无需编写storm代码,只需输入命令,控制器模块负责解析用户命令,并且自动设置storm并发起ETL任务;将所有可支持的数据源和目标数据存储的连接驱动都封装在连接器中,供控制器自动选择调用。本系统配合处理方法应用于利用流数据框架将关系型数据库中的数据集成到数据仓库中具有很强的实用性。
附图说明
图1 本发明系统架构示意图。
具体实施方式
结合附图对本发明做进一步说明。
一种基于storm的数据ETL系统,包括控制器模块、连接器模块和分布式计算引擎;
控制器模块负责接收用户输入信息,替分布式计算引擎选择数据源和目标数据存储的连接器,设置分布式计算引擎的ETL拓扑结构,设置完成后调用分布式计算引擎发起ETL任务;
拓扑结构包括执行的线程数、每个线程需要抽取的数据源划分、需要清洗的数据字段等。
连接器模块内置关系型数据库、 Hbase数据库和HDFS的连接驱动,供分布式计算引擎在连接数据源和目标数据存储时调用;
分布式计算引擎采用分布式的流数据处理框架storm进行ETL处理,由控制器模块配置并发起任务,负责数据的抽取、清洗和加载任务,将数据写入目标数据存储。storm框架中,一个storm任务的拓扑结构由spout和bolt组成,spout用来接收数据流,并把数据流传送给bolt,bolt负责清洗数据,并发数据写入下一个bolt或者目标数据存储。spout和bolt可以设置多个并组成复杂的DAG图。spout和bolt组成storm任务的拓扑结构,这些可以由控制器模块根据用户的命令自动生成。
一种基于storm的数据ETL处理方法,利用上述系统,控制器模块解析用户输入信息,用户输入信息包括sql语句、数据源表名、数据源连接字符串、目标数据存储的连接字符串、执行ETL的线程数、目标数据的字段分隔符和换行符等;
控制器模块从连接器模块中选择数据源和目标存储的连接驱动;
控制器模块配置分布式计算引擎的拓扑结构,分配连接驱动并启动ETL任务;
控制器模块配置分布式计算引擎的拓扑结构的过程为:控制器模块查询数据源表的总条数,对sql语句进行改写,根据用户输入的线程数设置每个ETL线程的数据边界,控制器模块从关系型数据库中抽取数据的spout、负责清洗数据的bolt和往目标数据存储写数据的bolt,将连接驱动分别赋给spout和写目标数据的bolt,完成storm的spout和bolt的拓扑结构的配置。
控制器启动storm的任务,storm开始执行数据的ETL操作:分布式计算引擎从数据源抽取数据,进行数据清洗,然后将数据写入目标数据存储。

Claims (3)

1.一种基于storm的数据ETL系统,其特征是包括控制器模块、连接器模块和分布式计算引擎;
控制器模块负责接收用户输入信息,替分布式计算引擎选择数据源和目标数据存储的连接器,设置分布式计算引擎的ETL拓扑结构,设置完成后调用分布式计算引擎发起ETL任务;
连接器模块内置关系型数据库、Hbase数据库和HDFS的连接驱动,供分布式计算引擎在连接数据源和目标数据存储时调用;
分布式计算引擎采用分布式的流数据处理框架storm进行ETL处理,由控制器模块配置并发起任务,负责数据的抽取、清洗和加载任务,将数据写入目标数据存储;
其中控制器模块解析用户输入信息,其中用户输入信息包括sql语句、数据源表名、数据源连接字符串、目标数据存储的连接字符串、执行ETL的线程数、目标数据的字段分隔符和换行符;
控制器模块从连接器模块中选择数据源和目标存储的连接器,控制器模块配置分布式计算引擎的拓扑结构,过程为:控制器模块查询数据源表的总条数,对sql语句进行改写,根据用户输入的线程数设置每个ETL线程的数据边界,控制器模块从关系型数据库中抽取数据的spout、负责清洗数据的bolt和往目标数据存储写数据的bolt,将连接驱动分别赋给spout和写目标数据的bolt,完成storm的spout和bolt的拓扑结构的配置;
控制器模块分配连接器并启动ETL任务;分布式计算引擎从数据源抽取数据,进行数据清洗,然后将数据写入目标数据存储。
2.根据权利要求1所述的一种基于storm的数据ETL系统,其特征是所述拓扑结构包括执行的线程数、每个线程需要抽取的数据源划分、需要清洗的数据字段。
3.一种基于storm的数据ETL处理方法,其特征是利用权利要求1或2所述一种基于storm的数据ETL系统,控制器模块解析用户输入信息,其中用户输入信息包括sql语句、数据源表名、数据源连接字符串、目标数据存储的连接字符串、执行ETL的线程数、目标数据的字段分隔符和换行符;
控制器模块从连接器模块中选择数据源和目标存储的连接器,控制器模块配置分布式计算引擎的拓扑结构,过程为:控制器模块查询数据源表的总条数,对sql语句进行改写,根据用户输入的线程数设置每个ETL线程的数据边界,控制器模块从关系型数据库中抽取数据的spout、负责清洗数据的bolt和往目标数据存储写数据的bolt,将连接驱动分别赋给spout和写目标数据的bolt,完成storm的spout和bolt的拓扑结构的配置;
控制器模块分配连接器并启动ETL任务;分布式计算引擎从数据源抽取数据,进行数据清洗,然后将数据写入目标数据存储。
CN201510533323.1A 2015-08-27 2015-08-27 一种基于storm的数据ETL系统及处理方法 Active CN105205105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510533323.1A CN105205105B (zh) 2015-08-27 2015-08-27 一种基于storm的数据ETL系统及处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510533323.1A CN105205105B (zh) 2015-08-27 2015-08-27 一种基于storm的数据ETL系统及处理方法

Publications (2)

Publication Number Publication Date
CN105205105A CN105205105A (zh) 2015-12-30
CN105205105B true CN105205105B (zh) 2019-04-16

Family

ID=54952789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510533323.1A Active CN105205105B (zh) 2015-08-27 2015-08-27 一种基于storm的数据ETL系统及处理方法

Country Status (1)

Country Link
CN (1) CN105205105B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824892A (zh) * 2016-03-11 2016-08-03 广东电网有限责任公司电力科学研究院 一种数据池对数据同步和处理的方法
CN107545014A (zh) * 2016-06-28 2018-01-05 国网天津市电力公司 基于Storm的流计算即时处理系统
CN106250571A (zh) * 2016-10-11 2016-12-21 北京集奥聚合科技有限公司 一种etl数据处理的方法及系统
CN106777933B (zh) * 2016-12-02 2019-05-10 郑州云海信息技术有限公司 一种数据采集方法、装置及系统
CN106611046B (zh) * 2016-12-16 2020-02-14 武汉中地数码科技有限公司 一种基于大数据技术的空间数据存储处理中间件系统
CN106649119B (zh) * 2016-12-28 2019-09-20 深圳市华傲数据技术有限公司 流计算引擎的测试方法及装置
CN107688592B (zh) * 2017-04-06 2020-03-17 平安科技(深圳)有限公司 数据清洗的方法及终端
CN107688598B (zh) * 2017-06-25 2021-02-09 平安科技(深圳)有限公司 源表结构解析方法、应用服务器及计算机可读存储介质
CN107678852B (zh) * 2017-10-26 2021-06-22 携程旅游网络技术(上海)有限公司 基于流数据实时计算的方法、系统、设备及存储介质
CN108256045A (zh) * 2018-01-12 2018-07-06 福建星瑞格软件有限公司 实时流数据的结构化解析、流计算的方法及计算机设备
CN109522004A (zh) * 2018-11-09 2019-03-26 福建南威软件有限公司 一种etl流程在分布式架构运行的方法
CN110442602B (zh) * 2019-07-02 2021-01-01 新华三大数据技术有限公司 数据查询方法、装置、服务器及存储介质
CN110471977B (zh) * 2019-08-22 2022-04-22 杭州数梦工场科技有限公司 一种数据交换方法、装置、设备、介质
CN112700622B (zh) * 2020-12-21 2022-05-17 中铁二院工程集团有限责任公司 一种基于storm的铁路地质灾害监测大数据预处理方法及系统
CN114048195A (zh) * 2022-01-13 2022-02-15 合肥臻谱防务科技有限公司 一种数据迁移方法、系统及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955502A (zh) * 2014-04-24 2014-07-30 科技谷(厦门)信息技术有限公司 一种可视化olap的应用实现方法及系统
CN104036025A (zh) * 2014-06-27 2014-09-10 蓝盾信息安全技术有限公司 一种基于分布式的海量日志采集系统
CN104317928A (zh) * 2014-10-31 2015-01-28 北京思特奇信息技术股份有限公司 一种基于分布式数据库的业务etl方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714151A (zh) * 2013-12-26 2014-04-09 北京锐安科技有限公司 一种单向光闸以及异构数据库间进行数据同步的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955502A (zh) * 2014-04-24 2014-07-30 科技谷(厦门)信息技术有限公司 一种可视化olap的应用实现方法及系统
CN104036025A (zh) * 2014-06-27 2014-09-10 蓝盾信息安全技术有限公司 一种基于分布式的海量日志采集系统
CN104317928A (zh) * 2014-10-31 2015-01-28 北京思特奇信息技术股份有限公司 一种基于分布式数据库的业务etl方法及系统

Also Published As

Publication number Publication date
CN105205105A (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105205105B (zh) 一种基于storm的数据ETL系统及处理方法
Mukherjee et al. A comparative review of data warehousing ETL tools with new trends and industry insight
CN107526645B (zh) 一种通信优化方法及系统
CN103761236A (zh) 一种增量式频繁模式增长数据挖掘方法
CN106126601A (zh) 一种社保大数据分布式预处理方法及系统
CN106021484A (zh) 基于内存计算的可定制多模式大数据处理系统
CN103425762A (zh) 基于Hadoop平台的电信运营商海量数据处理方法
CN104317928A (zh) 一种基于分布式数据库的业务etl方法及系统
Leno et al. Automated discovery of data transformations for robotic process automation
CN103430144A (zh) 数据源分析
CN106325969A (zh) 需求变更的逆向追踪系统
CN106951475A (zh) 基于云计算的大数据分布式处理方法及系统
CN107301214A (zh) 在hive中数据迁移方法、装置及终端设备
CN103077192B (zh) 一种数据处理方法及其系统
US20150026115A1 (en) Creation of change-based data integration jobs
CN102147813A (zh) 一种电力云环境下基于k最近邻算法的文档自动分类方法
CN202584217U (zh) 一种银行数据的并行批量处理系统
CN101165682A (zh) 一种文档文件的处理方法及系统
CN107479866A (zh) 基于重构技术实现开放终端应用数据与功能的方法
CN104573002A (zh) 基于人、事、物分类建档的数据组织模型
CN103984723A (zh) 一种针对增量数据对频繁项进行更新数据挖掘方法
CN103870540A (zh) 一种基于结构设计分析一体化的数据库
CN107436883B (zh) 基于求余的数据抽取的方法、装置及系统
CN108874395A (zh) 一种组件化流处理过程中的硬编译方法及装置
CN117009038A (zh) 一种基于云原生技术的图计算平台

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230320

Address after: 250000 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province

Patentee after: Shandong Inspur Scientific Research Institute Co.,Ltd.

Address before: No. 1036, Shun Ya Road, Ji'nan high tech Zone, Shandong Province

Patentee before: INSPUR GROUP Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20241014

Address after: 2324, Building 1, Aosheng Building, No. 1166 Xinluo Street, High tech Zone, Jinan City, Shandong Province, 250000

Patentee after: Inspur Computer Technology Co.,Ltd.

Country or region after: China

Address before: 250000 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province

Patentee before: Shandong Inspur Scientific Research Institute Co.,Ltd.

Country or region before: China