手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

kettle中如何实现表的批量同步:[1]全量同步

时间:2024-10-14 10:40:33

在做数据处理时,经常会遇到需要跨数据库进行表同步的操作,有的时候甚至是异库的情况,烂瘀佐栾这时使用kettle如何简单的实现这一工作呢?

工具/原料

kettle

两个数据库(Oracle,DB2,SQLServer,MySQL等均可)

打开kettle,定义数据源

1、kettle中定义两个数据源,其中“DS_ERP”是来源数据库,“DS_ODS”是用于同步的数据库

kettle中如何实现表的批量同步:[1]全量同步

新建转换,用于同步某一张表

1、新建一个转换(执行SQL脚本---争犸禀淫>>表输入--->>表输出)执行SQL脚本:删除DS_ODS库中已经存在的数据表输入:查询DS_ERP库中的数据表输出:将“表输入”中的结果输出到DS_ODS库中

kettle中如何实现表的批量同步:[1]全量同步

2、执行SQL脚本:删除DS_ODS库中已经存在的数据${qy_table_name娅势毁歹}:这个是参数,指同步的表名

kettle中如何实现表的批量同步:[1]全量同步

3、表输入:查询DS_ERP库中的数据${qy_table_name}:这个是参数,指同步的表名

kettle中如何实现表的批量同步:[1]全量同步

4、表输出:将“表输入”中的结果输出到DS_ODS库中${qy_table_name}:这个是参数,指同步的表名

kettle中如何实现表的批量同步:[1]全量同步

新建转换,用于获取需要同步的表名

1、新建一个转换(文本文件输入--->>复制结果到记录)文本文件输入:通过读取指定txt文件,获取所有要同步的表。(这里也可以通过其他方式获取,例如通过sql查询数据库系统表)

kettle中如何实现表的批量同步:[1]全量同步

2、指定txt文件路径

kettle中如何实现表的批量同步:[1]全量同步

3、定义txt文件中的字段名,同上一步中定义的参数名

kettle中如何实现表的批量同步:[1]全量同步

4、txt中定义需要同步的表,每行一张表名

kettle中如何实现表的批量同步:[1]全量同步

新建任务,实现批量同步

1、新建任务,调用前面的转换

kettle中如何实现表的批量同步:[1]全量同步

2、其中,同步表的转换需要设置循环执行,并将获取到的表名传递到转换内部

kettle中如何实现表的批量同步:[1]全量同步
kettle中如何实现表的批量同步:[1]全量同步
© 手抄报圈