增量加载是指目标表仅加载源数据表中新增和发生变化的数据。优秀的增量加载机制不但能够将业务系统中的变化数据按一定的频率准确地捕获到并加载到目标表中,同时还不会对业务系统造成太大的压力,也不会影响现有业务。
通过Kettle工具将数据表incremental_source中的数据增量加载到数据表incremental_target中。
假设,现有两张数据表,分别为incremental_source和incremental_target,其中incremental_source为源数据表,incremental_target为目标数据表。数据表incremental_source和incremental_target的表结构、数据都是相同的,具体如图所示。
打开kettle工具,创建转换
创建转换incremental_load,并添加“表输入”控件、“插入/更新”控件,以及Hop跳连接线
配置“表输入”控件
双击图中“表输出”控件,进入“表输出”界面,单击新建按钮,配置数据库连接,配置完成后点击“确认”按钮
配置“插入/更新 ”控件
进入“插入/更新”界面,单击“新建”按钮,单击目标表处的“浏览”按钮,弹出“数据库浏览器”窗口,选择目标表incremental_target,单击“获取字段”按钮,用来指定查询数据需要的关键字,这里比较数据表incremental_target的字段id与输入流里的字段id是否一致为条件,更新数据表中的其他字段数据
单击“获取和更新字段”按钮,用来指定需要更新字段
运行转换
查看数据表incremental_target中的数据