分享

kettle

 小雪初晴i 2021-01-12

上一节:kettle——(1)介绍和Execl输出举例

  最近公司在做数据总线的工作,需要用kettle这个ETL工具,所以花了一些时间来研究研究,喜欢的话点个赞

kettle抽取一个数据库中数据,同步到另一数据库

1.新建一个“转换”,新建两个数据库连接如下:

目标数据库MySQL

目标数据库

源数据库SQL Server

源数据库

2.拖入“输入表”和“输出表”

输入表:选择相应的数据库,可以直接获取sql语句

输入表编辑

输出表:选择相应的数据库,填写目标表(同步数据用的表),可以直接获取sql语句

输出表编辑

没有连接导致字段不可读

[没有连接导致字段不可读

按住shift之后便可以连线

这里写图片描述

目标数据库中没有相应的表,需要新建
这里写图片描述

执行

这里写图片描述

3.运行转化文件即可

这里写图片描述

以上说的是完全同步一张表的情况,而且前提是——在目标数据库中没有同名的表

如果我只需要这张表中的某些字段应该怎么办

4.根据自己的需要删除或者修改字段,再同步数据

源数据表

这里写图片描述

添加“字段选择”

这里写图片描述

编辑“字段选择”,获取字段

这里写图片描述

移除自己不需要的字段:先获取,然后右击——删除

这里写图片描述

这里写图片描述

修改字段(这里偷懒没有写,自行脑补哈)

这里写图片描述

“输出表”运行SQL语句,建立新表如下:

这里写图片描述

最后结果

这里写图片描述

以上的同步数据是在目标数据库中没有这张表的情况下,如果目标数据库中已经存在这张表了呢?

5.同步目标数据库已存在的表

源数据库表数据如下:

这里写图片描述

目标数据库表数据如下:

这里写图片描述

修改字段选择,删除字段create_time(同步的数据没有这一列的数据)

这里写图片描述

修改输出表对应已存在的表

这里写图片描述

最后结果

这里写图片描述

下一节:kettle——(3)全量抽取和增量抽取

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多