美文网首页商业智能BIKettle学习搓圆揉扁Kettle
kettle简单使用以及进行数据抽取同步

kettle简单使用以及进行数据抽取同步

作者: javady | 来源:发表于2016-05-24 13:38 被阅读15999次

    Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,高效稳定。(源自百度百科)

    1.使用场景

    a.不同服务器数据库之间数据同步,或者数据库数据导出的应用
    b.定时任务

    2.简单使用kattle进行数据合并+更新+删除+新增

    下载好kettle,打开spoon.bat,纯java的工具所以需要jre环境,在此不在赘述.见图1

    图1

    打开工具后,软件的欢迎页面.右边俩个tab菜单,一个是创建的应用面板,一个是应用的工具对象,图2

    图2

    现在创建一个转换应用,并且新建DB连接.保存一下这个应用的名称.图3

    图3

    建好俩个数据库的连接之后就可以进行步骤这一块的操作了.图4

    图4

    新增2个不同库的表输入步骤(在核心对象菜单中拖拽到面板中就可以),因为是2个不同的库,所以在同步时要注意表的列数和列定义的类型.图5,6

    图5

    上图这个是新的表输入数据要和旧数据进行合并,选择好数据库连接

    图6

    上图是旧数据表输入,对应新数据表的2个列.

    合并俩个 数据源,新增一个合并记录对象.并且设置好新旧数据库,已经需要比对的字段.图7

    图7

    上图的右侧填写的是新数据源列,左侧是旧数据源列,关键字即是主键,比对的是第二列的值是否变化

    进行debug操作一下 俩个数据的变化.如果有增/删/改 关键字就会有不同的提示.图8

    图8

    添加一个表输出对象.用于存储合并后的数据列表.图9

    图9

    选择好表名和数据库连接,勾选存储表名字段,debug进行预览.图10

    图10

    上图步骤中的数据和合并记录步骤的预览记录并没有什么区别.

    添加一个条件判断对象(switch case),依据表输出的diff标识值进行下一步操作.图11

    图11

    上图的switch字段是表输出步骤中表的比对列,case值是比对列的值,目标步骤是下一步进行的工作.图12

    图12

    上图是根据不通的值进行不同操作.有删除和更新,以及插入和默认情况.

    删除步骤:

    删除

    更新

    更新

    插入

    插入

    不操作,添加一个无操作输入.

    总结:整个流程实现了不同数据库中对同一批数据的增/删/改操作.kattle

    Paste_Image.png

    相关文章

      网友评论

      • sys:实用,好文,帮大忙了。谢谢。
      • dd2f56d130c2:不错不错,收藏了。

        推荐下,分库分表中间件 Sharding-JDBC 源码解析 17 篇:http://t.cn/R0UfGFT


      • f7095c44cb85:能不能给原来的数据库和更新之后的数据库看看效果,刚开始用。却不知道怎样用
      • fd1b26852c0e:你好,想咨询下更新之前的更新时间组件是什么组件?在6.1版本里边没看到这个
        javady:@嘻子 系统信息组件可以获取到时间
      • b914e19f21ed:很好,正式需要的
        javady:@呆呆1324 我也是自己研究的.这个软件功能好强大

      本文标题:kettle简单使用以及进行数据抽取同步

      本文链接:https://www.haomeiwen.com/subject/nxjzrttx.html