发明名称 一种使用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号