CN104850611A - 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 - Google Patents
一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 Download PDFInfo
- Publication number
- CN104850611A CN104850611A CN201510238580.2A CN201510238580A CN104850611A CN 104850611 A CN104850611 A CN 104850611A CN 201510238580 A CN201510238580 A CN 201510238580A CN 104850611 A CN104850611 A CN 104850611A
- Authority
- CN
- China
- Prior art keywords
- lastkey
- kettle
- data
- transition
- relational database
- 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
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000007704 transition Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/23—Updating
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法,首先创建kettle job;lastKey;lastKey用来记录当前Hbase中数据的最大标识,可以存在关系型数据库、Hbase或者文件中;获取currentMaxKey;抽取数据;创建一个transition,用于数据抽取;更新lastKey;使用定时器;定时器可以使用kettle的job自带的定时器。本发明和现有技术相比,使用kettle的组件实现从关系型数据库向非关系型数据库定时增量更新数据,解决了不同数据源的数据同步到云平台的问题,具有很好的推广使用价值。
Description
技术领域
本发明涉及计算机软件应用技术领域,具体地说是一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法。
背景技术
随着云计算技术的不断发展,云计算技术不断落地成为支撑各行业信息技术发展的重要支柱。基于hadoop和hbase的分布式集群,如今已成为国内外云计算热门研究对象。Hadoop的HDFS分布式存储为云平台提供了存储方式,hbase则为云平台提供数据库服务。非关系型数据库(Hbase)承载着支持线上应用、线下数据仓库、数据平台资源汇总的功能。实现这些功能的基础是数据。要将现有的不同数据源的数据同步到云平台,就面临着数据从关系型数据库到非关系型数据库的定时增量更新问题。Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,对数据处理采用可视化编程的方式,方便易操作,数据抽取高效稳定。使用kettle的组件实现从关系型数据库向非关系型数据库(Hbase)定时增量更新数据的方法。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法。
本发明的技术方案是按以下方式实现的,其方法如下:
(1)、创建kettle job;一个job包含多个transition,可以保证各个transition执行的先后顺序,顺序的多个transition中,只有当前面的步骤执行完毕才会执行后面的步骤;
(2)、获取lastKey;lastKey用来记录当前Hbase中数据的最大标识,存在关系型数据库、Hbase或者文件中;在第一次执行定时增量更新前,需要先初始化一个lastKey;创建一个transition,用来获取lastKey并将其放入kettle运行变量中;
(3)、获取currentMaxKey;创建一个transition,在关系型数据库中使用max()函数获取标识字段的最大值currentMaxKey,并放入kettle运行变量中;
(4)抽取数据;创建一个transition,用于数据抽取;关系型数据库的sql定义为:select 字段1,字段2,... from 数据源表名 where 标识字段>lastKey and标识字段<=currentMaxKey;
(5)、更新lastKey;创建一个transition,用于更新lastKey;当前面的步骤都运行成功之后,在lastKey的存储位置用currentMaxKey替换掉lastKey;
(6)、使用定时器;定时器可以使用kettle的job自带的定时器。
本发明的优点是:
本发明的一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法和现有技术相比,使用kettle的组件实现从关系型数据库向非关系型数据库(Hbase)定时增量更新数据,解决了不同数据源的数据同步到云平台的问题,具有很好的推广使用价值。
具体实施方式
下面对本发明的一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法作以下详细说明。
本发明的一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法,方法如下:
(1)、创建kettle job。一个job包含多个transition,可以保证各个transition执行的先后顺序,顺序的多个transition中,只有当前面的步骤执行完毕才会执行后面的步骤。
(2)、获取lastKey。lastKey用来记录当前Hbase中数据的最大标识,可以存在关系型数据库、Hbase或者文件中等等。在第一次执行定时增量更新前,需要先初始化一个lastKey。创建一个transition,用来获取lastKey并将其放入kettle运行变量中。
(3)、获取currentMaxKey。创建一个transition,在关系型数据库中使用max()函数获取标识字段的最大值currentMaxKey,并放入kettle运行变量中。
(4)、抽取数据。创建一个transition,用于数据抽取。关系型数据库的sql定义为:select 字段1,字段2,... from 数据源表名 where 标识字段>lastKey and标识字段<=currentMaxKey。
(5)、更新lastKey。创建一个transition,用于更新lastKey。当前面的步骤都运行成功之后,在lastKey的存储位置用currentMaxKey替换掉lastKey。
(6)使用定时器。定时器可以使用kettle的job自带的定时器,也可以使用操作系统的定时器。
(7)、可选功能。上述步骤为定时增量更新的核心步骤,除上述步骤外,还可添加其它步骤,如记录日志、数据处理、记录错误断点等等。
本发明发明了一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法,从而解决了数据从关系型数据库到非关系型数据库的数据同步中的几个问题:1)非关系型数据库中无法使用max()函数筛选当前数据的最大标识(往往以时间戳或者递增序列);2)不同的数据字段不同,并且在数据转移过程中常常要进行一些数据处理工作,导致数据抽取过程复杂,要编写大量代码,后期可维护性差。 Kettle是一款优秀的开源ETL工具,对数据进行抽取、处理的过程采用可视化编程的方式,非常方便,且功能强大,针对从关心型数据库转移数据到非关系型数据库构建数据仓库的问题,使用kettle提供的各种对数据处理的组件,实现了一种基于kettle解决上述问题的方案。本工具在山东省警务项目中已经得到广泛应用,用户在云平台上可申请使用,经过授权后可下载使用,功能强大、使用方便、易于维护,解决了多用户向云平台转移数据的问题,具有很好的推广使用价值。
本发明的一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法其加工制作非常简单方便,按照说明书所示即可加工。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (1)
1.一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法,其特征在于方法如下:
(1)、创建kettle job;一个job包含多个transition,可以保证各个transition执行的先后顺序,顺序的多个transition中,只有当前面的步骤执行完毕才会执行后面的步骤;
(2)、获取lastKey;lastKey用来记录当前Hbase中数据的最大标识,存在关系型数据库、Hbase或者文件中;在第一次执行定时增量更新前,需要先初始化一个lastKey;创建一个transition,用来获取lastKey并将其放入kettle运行变量中;
(3)、获取currentMaxKey;创建一个transition,在关系型数据库中使用max()函数获取标识字段的最大值currentMaxKey,并放入kettle运行变量中;
(4)抽取数据;创建一个transition,用于数据抽取;关系型数据库的sql定义为:select 字段1,字段2,... from 数据源表名 where 标识字段>lastKey and标识字段<=currentMaxKey;
(5)、更新lastKey;创建一个transition,用于更新lastKey;当前面的步骤都运行成功之后,在lastKey的存储位置用currentMaxKey替换掉lastKey;
(6)、使用定时器;定时器可以使用kettle的job自带的定时器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510238580.2A CN104850611A (zh) | 2015-05-12 | 2015-05-12 | 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510238580.2A CN104850611A (zh) | 2015-05-12 | 2015-05-12 | 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104850611A true CN104850611A (zh) | 2015-08-19 |
Family
ID=53850256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510238580.2A Pending CN104850611A (zh) | 2015-05-12 | 2015-05-12 | 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850611A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956123A (zh) * | 2016-05-03 | 2016-09-21 | 无锡雅座在线科技发展有限公司 | 基于局部更新软件的数据处理方法及装置 |
CN106407366A (zh) * | 2016-09-09 | 2017-02-15 | 浪潮软件股份有限公司 | 一种分布式系统数据提取方法 |
CN106446144A (zh) * | 2016-09-21 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于kettle的大数据平台数据抽取和统计方法 |
CN107133327A (zh) * | 2017-05-05 | 2017-09-05 | 合肥智圣系统集成有限公司 | 一种支持多数据类型的数据交换方法及系统 |
CN108040128A (zh) * | 2018-01-12 | 2018-05-15 | 国网福建省电力有限公司 | 一种基于kettle实现档案数据自动上传同步的方法 |
CN108121718A (zh) * | 2016-11-28 | 2018-06-05 | 北京国双科技有限公司 | 一种数据处理方法及同步设备 |
CN108228223A (zh) * | 2017-10-26 | 2018-06-29 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu环境的多类型数据库统一增量更新方法 |
CN109241156A (zh) * | 2018-07-31 | 2019-01-18 | 安徽四创电子股份有限公司 | 基于etl工具从关系型数据库向非关系型数据库更新的方法 |
CN109635032A (zh) * | 2018-12-24 | 2019-04-16 | 福建凯米网络科技有限公司 | 一种数据转换的方法及终端 |
CN109739809A (zh) * | 2018-12-03 | 2019-05-10 | 国网江苏省电力有限公司 | 一种干部人事档案存储管理方法 |
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN112395267A (zh) * | 2020-10-23 | 2021-02-23 | 四川新网银行股份有限公司 | 一种不停服务用户数据迁移切换方法 |
-
2015
- 2015-05-12 CN CN201510238580.2A patent/CN104850611A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956123A (zh) * | 2016-05-03 | 2016-09-21 | 无锡雅座在线科技发展有限公司 | 基于局部更新软件的数据处理方法及装置 |
CN106407366A (zh) * | 2016-09-09 | 2017-02-15 | 浪潮软件股份有限公司 | 一种分布式系统数据提取方法 |
CN106446144A (zh) * | 2016-09-21 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于kettle的大数据平台数据抽取和统计方法 |
CN108121718B (zh) * | 2016-11-28 | 2021-12-24 | 北京国双科技有限公司 | 一种数据处理方法及同步设备 |
CN108121718A (zh) * | 2016-11-28 | 2018-06-05 | 北京国双科技有限公司 | 一种数据处理方法及同步设备 |
CN107133327A (zh) * | 2017-05-05 | 2017-09-05 | 合肥智圣系统集成有限公司 | 一种支持多数据类型的数据交换方法及系统 |
CN108228223A (zh) * | 2017-10-26 | 2018-06-29 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu环境的多类型数据库统一增量更新方法 |
CN108040128A (zh) * | 2018-01-12 | 2018-05-15 | 国网福建省电力有限公司 | 一种基于kettle实现档案数据自动上传同步的方法 |
CN109241156A (zh) * | 2018-07-31 | 2019-01-18 | 安徽四创电子股份有限公司 | 基于etl工具从关系型数据库向非关系型数据库更新的方法 |
CN109739809A (zh) * | 2018-12-03 | 2019-05-10 | 国网江苏省电力有限公司 | 一种干部人事档案存储管理方法 |
CN109635032A (zh) * | 2018-12-24 | 2019-04-16 | 福建凯米网络科技有限公司 | 一种数据转换的方法及终端 |
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN111625543B (zh) * | 2020-05-27 | 2023-08-25 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN112395267A (zh) * | 2020-10-23 | 2021-02-23 | 四川新网银行股份有限公司 | 一种不停服务用户数据迁移切换方法 |
CN112395267B (zh) * | 2020-10-23 | 2023-06-13 | 四川新网银行股份有限公司 | 一种不停服务用户数据迁移切换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850611A (zh) | 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 | |
JP6521402B2 (ja) | KeyValueデータベースのデータテーブルを更新するための方法およびテーブルデータを更新するための装置 | |
MY187393A (en) | Method and system for realizing data tracking by means of software development kit | |
TW201737126A (zh) | 執行資料恢復操作的方法及裝置 | |
CN104935618B (zh) | 一种集群部署方法 | |
CN105740410A (zh) | 一种基于Hbase二级索引的数据统计方法 | |
CN105279045A (zh) | 一种数据库的数据恢复方法及系统 | |
CN204990761U (zh) | 一种经济管理用思维导图工具 | |
CN103970578A (zh) | 主从mcu升级方法 | |
CN106446144A (zh) | 一种基于kettle的大数据平台数据抽取和统计方法 | |
CN110990482A (zh) | 异步数据库之间的数据同步方法及装置 | |
CN109857803A (zh) | 数据同步方法、装置、设备、系统及计算机可读存储介质 | |
CN104657387A (zh) | 一种数据查询方法及装置 | |
CN102508886A (zh) | 一种基于xml的空间数据增量同步更新方法 | |
CN105306581A (zh) | 一种基于路由器和云盘数据同步的方法 | |
CN102521332B (zh) | 基于强模拟的图模式匹配方法、装置及系统 | |
WO2011020855A3 (en) | Updating a client node of a computing system | |
CN105320769A (zh) | 一种Oracle数据库的数据同步方法及系统 | |
CN105760174A (zh) | 一种基于Windows定时任务的建议数据抽取方法 | |
CN104065752A (zh) | 终端间数据同步方法 | |
CN104216987A (zh) | 一种基于时间戳且支持删除操作的增量数据捕获方法 | |
CN102662700B (zh) | 一种嵌入式软件版本的发布及升级方法 | |
CN105447105A (zh) | 基于NoSQL的分布式物联网数据的单字段区间索引查询方式 | |
CN105550238A (zh) | 一种数据库一体机的架构系统 | |
CN106156044B (zh) | 数据库切换方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150819 |
|
WD01 | Invention patent application deemed withdrawn after publication |