发明名称 |
一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法 |
摘要 |
本发明提供一种使用KETTLE从关系型数据库向非关系型数据库定时增量更新数据的方法,首先创建kettle job;lastKey;lastKey用来记录当前Hbase中数据的最大标识,可以存在关系型数据库、Hbase或者文件中;获取currentMaxKey;抽取数据;创建一个transition,用于数据抽取;更新lastKey;使用定时器;定时器可以使用kettle的job自带的定时器。本发明和现有技术相比,使用kettle的组件实现从关系型数据库向非关系型数据库定时增量更新数据,解决了不同数据源的数据同步到云平台的问题,具有很好的推广使用价值。 |
申请公布号 |
CN104850611A |
申请公布日期 |
2015.08.19 |
申请号 |
CN201510238580.2 |
申请日期 |
2015.05.12 |
申请人 |
浪潮集团有限公司 |
发明人 |
徐正礼;魏金雷;臧勇真;赵明超 |
分类号 |
G06F17/30(2006.01)I |
主分类号 |
G06F17/30(2006.01)I |
代理机构 |
济南信达专利事务所有限公司 37100 |
代理人 |
姜明 |
主权项 |
一种使用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自带的定时器。 |
地址 |
250101 山东省济南市高新区浪潮路1036号 |