CN104850611A - 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 - Google Patents

一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 Download PDF

Info

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
Application number
CN201510238580.2A
Other languages
English (en)
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 Group 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 CN201510238580.2A priority Critical patent/CN104850611A/zh
Publication of CN104850611A publication Critical patent/CN104850611A/zh
Pending legal-status Critical Current

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/23Updating
    • 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

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从关系型数据库向非关系型数据库定时增量更新数据的方法
技术领域
本发明涉及计算机软件应用技术领域,具体地说是一种使用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自带的定时器。
CN201510238580.2A 2015-05-12 2015-05-12 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 Pending CN104850611A (zh)

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)

* Cited by examiner, † Cited by third party
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 四川新网银行股份有限公司 一种不停服务用户数据迁移切换方法

Cited By (15)

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