kettle中如何实现表的批量同步:[1]全量同步
在做数据处理时,经常会遇到需要跨数据库进行表同步的操作,有的时候甚至是异库的情况,烂瘀佐栾这时使用kettle如何简单的实现这一工作呢?
工具/原料
kettle
两个数据库(Oracle,DB2,SQLServer,MySQL等均可)
打开kettle,定义数据源
1、kettle中定义两个数据源,其中“DS_ERP”是来源数据库,“DS_ODS”是用于同步的数据库
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/75af02324b18512c1e6ae313ad334884cce34933.jpg)
新建转换,用于同步某一张表
1、新建一个转换(执行SQL脚本---争犸禀淫>>表输入--->>表输出)执行SQL脚本:删除DS_ODS库中已经存在的数据表输入:查询DS_ERP库中的数据表输出:将“表输入”中的结果输出到DS_ODS库中
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/d9e638334884cde3dcb76d5af07f860e7d754233.jpg)
2、执行SQL脚本:删除DS_ODS库中已经存在的数据${qy_table_name娅势毁歹}:这个是参数,指同步的表名
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/57af657f860e7c75796fc741650d3aceabd7bf33.jpg)
3、表输入:查询DS_ERP库中的数据${qy_table_name}:这个是参数,指同步的表名
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/fdb4f00d3aceaad7d3f03756eee7340f6578b833.jpg)
4、表输出:将“表输入”中的结果输出到DS_ODS库中${qy_table_name}:这个是参数,指同步的表名
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/64a62a0f6478142319224d8aaac2bbd6e0d0b233.jpg)
新建转换,用于获取需要同步的表名
1、新建一个转换(文本文件输入--->>复制结果到记录)文本文件输入:通过读取指定txt文件,获取所有要同步的表。(这里也可以通过其他方式获取,例如通过sql查询数据库系统表)
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/777f3fc2bbd6e1d0c173a1d50d254193cfe8af33.jpg)
2、指定txt文件路径
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/6ca98461862541937e738bb0df1bd10ff326ab33.jpg)
3、定义txt文件中的字段名,同上一步中定义的参数名
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/b1454a1bd10ff226b8010aba9c99e92abbb8a433.jpg)
4、txt中定义需要同步的表,每行一张表名
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/304f0999e92abab8f8db514a4814f1c594eea133.jpg)
新建任务,实现批量同步
1、新建任务,调用前面的转换
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/c255efc595ee41c177bc97e78d88912ca4ca9b33.jpg)
2、其中,同步表的转换需要设置循环执行,并将获取到的表名传递到转换内部
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/ad121888912ca5ca1973abfc8bfc77f7990e9433.jpg)
![kettle中如何实现表的批量同步:[1]全量同步](https://exp-picture.cdn.bcebos.com/01bd69f7980e5f2088ea646fbd20b93acc898e33.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:72
阅读量:91
阅读量:74
阅读量:84
阅读量:95