① 利用源表定义目标表;
② 修改目标表的表名;
③ 修改目标表的列字段;
④ 关键:生成并执行sql,才会在目标数据库中真正生成这张目标表;
⑤ 去目标数据库edw中查看生成的目标表;
① 创建一个映射;
② 将源表和目标表都拖拉到右侧灰色区域;
③ 插入一个“查找转换”组件;
对上述图的一个说明:
④ 完成上述操作后,就会出现如下界面;
⑤ 将源表中的cust_id字段,移动到“查找转换”组件中;
⑥ 双击“查找转换”组件,进行查找条件的设置;
对第⑤步和第⑥步操作进行一个详细说明:
⑦ 在“查找转换”组件中,我们查找的是“目标表”,因此还要设置目标表的来源;
⑧ 添加“更新策略转换”组件,做增量抽取;
⑨ 将源表中的字段(目标表需要什么字段就移动什么字段)都移动到“更新策略转换”组件中,同时将“查找转换”组件中目标表中的cust_id字段移动到“更新策略转换”组件中;
双击“更新策略转换”组件,设置【更新策略表达式】;
利用上面两张图说明“更新策略转换”组件的作用:
⑩ 在“更新策略转换”组件和目标表之间,添加一个“表达式转换”组件,因为目标表中有ETL_DATE字段,“更新策略转换”组件中没有该字段;
⑪ 双击“表达式转换”组件,新增一个ETL_DATE字段;
⑫ 将“表达式转换”组件中的字段,传递给目标表;
⑬ 使用CTRL + S保存一下创建的映射;
① 在创建任务之前,定义一个连接关系,为源表和目标表指明来源和去向。有了连接关系,你就知道源表来自于哪个数据库,目标表最终去往哪个数据库;
② 当出现如下界面后,完成1,2,3的操作;
③ 当出现如下界面后,继续完成1,2,3,4,5的操作;
④ 创建一个任务;
⑤ 选择该任务要执行的映射;
⑥ 修改源表的连接对象;
⑦ 修改目标表的连接对象;
⑧ 使用CTRL + S保存一下创建的任务;
① 创建一个工作流;
② 将任务拖动到右侧空白区域;
③ 建立工作流与任务之间的连接;
④ 使用CTRL + S保存一下创建的工作流;
⑤ 通过任务启动工作流;
⑥ 上述操作会自动打开M客户端,我们在M客户端查看一些日志信息。从下面的结果总可以看出:第一次插入的时候,目标表中是没有任何数据,因此会将源表中所有的3000条数据,都插入到目标表中;
⑦ 此时,去edw用户下,查看最终生成的数据;
① 在源表中新增2条数据;
insert into ODS_CUST_INFO (ID, CUST_ID, PHONE_NO, NAME)
values (6666,6666,66666666666,'诸葛亮');
insert into ODS_CUST_INFO (ID, CUST_ID, PHONE_NO, NAME)
values (8888,8888,88888888888,'刘备');
效果如下:
② 在M客户端中,重新启动任务;
③ 观察下面结果,可以看到第二次就只插入了最新的2条记录;
④ 此时,去edw用户下,查看最终生成的数据,共有3002条记录;