ETL任务说明
一、 地方业务库 到 地方前置交换库

例:etl\nationfep\tofep\project目录下的配置
 总体任务
文件:project.kjb
建设项目相关的表的数据的转化

etl任务停掉yarn释放资源 etl任务设置_etl任务停掉yarn释放资源

  1. 任务开始
  2. 转换(主要配置)
  3. 任务结束
    说明:任务是调度的单元,之后windows任务计划配置的任务和kettle任务一一对应。一个任务可以包含多个kettle转换,原则上没有限制,但应当按照某个相关主题进行配置,简化管理维护。
     转换
    文件:以ktr结尾
    以project.ktr为例

    数据库连接配置
     source为地方业务库
     target为地方前置交换库

    整体思路:获取前置交换库和业务库中的数据,进行比对,根据比对结果(一致的、改变了的、删除了的、新增的),对前置交换库进行新增(新增的)、修改(改变了的、删除了的,删除的也是做修改,只是标记为删除),新增、修改的数据都将为新的版本(原来前置交换库中最大的版本+1,原本不存在记录,则版本为1)。
  4. 获取本次同步记录的版本号
    读取前置交换库中的表的当前最大版本,将其加一,或设置为一(如最大值不存在,即无记录)
  5. 从业务库中获取数据,并增加DES_ID、DES_VERSION、DES_REPORT_TIME列
  6. 为上一个步骤的输出的DES_REPORT_TIME、DES_VERSION列增加数据类型和长度
  7. 对上一个步骤的输出进行排序,为合并数据做准备

    只需设置按ID进行升序排序
  8. 从前置交换库中获取数据

    不获取DES_TAG列
  9. 等待源表输入结束再继续执行
  10. 合并记录,对业务库和前置交换库的记录进行合并比对,增加flagfield列,标识比对结果
  11. 根据上一步骤比对的结果进行分支处理
  12. 选择列,去掉flagfield(不需要此步骤也没问题)
  13. 增加DES_TAG列,值为0,标识这是新增的数据
  14. 对新增的数据进行插入/更新操作
  15. 选择列,去掉flagfield(不需要此步骤也没问题)
  16. 增加DES_TAG列,值为1,标识这是修改的数据
  17. 等待步骤11结束再继续执行
  18. 对修改的数据进行插入/更新操作
    与步骤11类似
  19. 选择列,去掉flagfield(不需要此步骤也没问题)
  20. 增加DES_TAG列,值为2,标识这是删除的数据
  21. 等待步骤15结束再继续执行
  22. 对删除的数据进行更新操作
  23. 空操作

    二、 国家前置交换库 到 国家业务库
    例:etl\centerfep\fromfep\project目录下的配置
     总体任务
    文件:project.kjb
    建设项目相关的表的数据的转化
  24. 任务开始
  25. 转换(主要配置)
  26. 任务结束
    说明:任务是调度的单元,之后windows任务计划配置的任务和kettle任务一一对应。一个任务可以包含多个kettle转换,原则上没有限制,但应当按照某个相关主题进行配置,简化管理维护。
     转换
    文件:以ktr结尾
    以project.ktr为例

    数据库连接配置
     source为国家前置交换库
     target为国家业务库

    整体思路:获取上一次同步的版本号,查找前置交换库中大于该版本号的数据,对业务库中的数据,进行新增、修改、删除,在无错误的条件下,更新本次同步的版本号。
  27. 获取上一次同步的版本号
  28. 获取前置交换库中版本号大于上一次同步的版本号的数据

    不需要获取DES_ID、DES_REPORT_TIME、DES_VERSION列,需要获取DES_TAG列
  29. 根据DES_TAG列,进行分支处理,对DES_TAG为0、1的进行插入/更新,对DES_TAG为2的进行删除
  30. 对DES_TAG为0、1的进行插入/更新
  31. 对DES_TAG为2的进行删除
  32. 增加TABLE_NAME列,值与第1步骤的表名一致
  33. 等待步骤4、5成功再执行
  34. 更新版本号,标记本次同步的最大版本号

    三、 Windows任务计划配置
    每一个kettle job都需要相应配置一个Windows定时任务进行周期性执行。
    在kettle的任务目录下,建立windows-job目录,
    windows-job目录包含2个执行文件

    .bat文件中的内容:

    .vbs文件中的内容:

    配置windows任务
    控制面板->管理工具(小图标下才有)->任务计划程序

    双击进入管理界面,点击创建任务

    填写基本信息

    选择执行的操作
    操作->新建


    指定执行周期
    触发器->新建


    新建完成后,在任务列表中右键刚刚新建的任务,点击启动。