zoukankan      html  css  js  c++  java
  • Kettle自动化作业

    使用kettle做数据同步时,如果需要同步的表很多,一个个编写输入输出不太合理
    所以为解决这种问题以及方便后续扩展,实现思路:
    1、数据库创建个包含源表、目标表、输入脚本等字段的数据同步表
    2、通过kettle读取表中需要同步的记录,并逐条执行数据同步
    这样一来每次有新的表需要同步时,每次只需要新增/修改同步表即可,无需再从头编写输入输出规则

    1、创建自动同步作业表

      字段包含但不限于:源系统、源表名、同步脚本、目标系统、目标表名、同步时间、更新规则、有效标识等

    2、kettle创建转换1,添加表输入,读取作业表中待同步记录,并将记录存至结果

     

     

     3、创建转换2,从结果中获取记录,并将主要字段设置为变量

     4、创建转换3,获取变量,将变量中同步脚本赋至表输入中,勾选替换SQL语句中的变量,添加表输出,用变量替换目标表名

    5、创建数据同步作业1,将3、4步创建的转换串起来(此作业是针对记录逐条操作的),此处是全量更新,所有数据同步之前先进行了清表

     

    6、创建总体作业,获取所有记录存至结果,然后逐条执行结果中数据,并执行同步

    7、若需要增量更新,则需要在第5步的作业1执行结束再添加,获取同步之后的最大更新时间,并写至同步作业表中作记录,在同步作业的执行脚本每次获取此更新时间之后的数据

    8、总体涉及作业、转换

     

     

     

     

     

     

     

  • 相关阅读:
    Java牛角尖问题之static 静态变量和静态代码块的执行顺序
    蓝桥杯 蚂蚁爬楼梯 递归解最短路程问题
    动态规划系列题目学习
    使用Excel快速生成html表格
    C#使用out输出结果
    C#和sql语句中切割函数SUBSTRING的用法和区别
    C# 对DataTable进行操作
    自动生成表创建sql
    .net core获取根目录并转化字符串
    .net core从配置中读取数据并实例对象
  • 原文地址:https://www.cnblogs.com/grapelet520/p/14304149.html
Copyright © 2011-2022 走看看