1.现有两张数据表,分别为数据表full_source和数据表full_target,其中数据表full_source为源数据表,数据表full_target为目标数据表。数据表full_source和full_target的具体内容如下所示:
数据表full-source
数据表full_target
通过使用Kettle工具,实现将数据表full_source中的数据全量加载到数据表full_target中。
具体操作如下:
(1)打开Kettle工具,创建转换
使用Kettle工具创建转换full_load,添加“执行SQL脚本”控件、“表输入”控件、“表输出”控件。
图1
(2)配置“执行SQL脚本”控件
双击“执行SQL脚本”控件,进入此控件界面中,首先点击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮;然后在SQL框中编写数据表full_target中数据的SQL语句;最后单击“确认”按钮,完成“执行SQL脚本”的配置。具体如下图所示。
图2
图3
(3)配置“表输入”控件
双击“表输入”控件,进入此控件界面中,首先在SQL框中编写查询数据表full_source数据的SQL语句;然后单击“预览”按钮,查看数据表full_source的数据是否成功抽取到表输入流中;最后单击“关闭”-“确认”按钮,完成“表输入”的配置。具体如下图所示。
图4
图5
(4)配置“表输出”控件
双击“表输出”控件,进入此界面中,首先单击“浏览”按钮,选择输出的目标表,即数据表full_target,然后单击“确定”按钮,完成“表输出”的配置。具体如下图所示。
图6
(5)运行转换full_load,并查看数据表full_target中的数据
图7
图8
从图8中可以看出,数据表full_target中已经加载到数据。
2.现有两张数据表,分别为incremental_source和incremental_target,其中incremental_source为源数据表,incremental_target为目标数据表。数据表incremental_source和incremental_target的表结构、数据都是相同的,具体如下所示:
数据表incremental_source
数据表incremental_target
通过使用Kettle工具,实现将数据表incremental_source中的数据增量加载到数据表incremental_target中,即将数据表incremental_source中新增、变化的数据加载到数据表incremental_target中。
(注:新增数据,在数据表incremental_source中新增一条id为6、name为Mary、age为23的数据;变化数据,修改数据表incremental_source中id为2的数据,将该条数据的age值改为25)。
具体操作如下:
(1)打开Kettle工具,创建转换
打开Kettle工具创建转换incremental_load,添加“表输入”控件、“插入/更新”控件。
图9
(2)配置“表输入”控件
双击“表输入”控件,进入此界面中,首先单击“新建”按钮,完成数据库的连接;然后在SQL框中编写查询数据表incremental_source数据的SQL语句,单击“预览”按钮,查看数据是否成功抽取到表输入流中;最后单击“关闭”-“确定”按钮,完成“表输入”的配置。具体如下图所示。
图10
图11
图12
(3)配置“插入/更新"控件
双击“插入/更新”控件,进入此控件界面中,首先打击“新建”按钮,配置数据库连接;然后单击目标表中的“浏览”按钮,弹出“数据库浏览器”窗口,选择目标表incremental_target;单击“获取字段”按钮和“获取和更新字段”按钮;最后单击“确定"按钮,完成”插入/更新“控件的配置。具体如下图所示。
图13
图14
(4)修改数据表incremental_source中的数据
图15
(5)运行转换并查看数据表incremental_source中的数据
图16
以上操作中Kettle实现了将数据表incremental_source中的数据增量加载到数据表incremental_target中。