Kettle插入更新组件详解

本文介绍的是输出菜单下的插入/更新组件。

实现功能:自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。

插入/更新组件详解

这个组件主要分为三个部分:属性定义、Keys、Fields。

属性定义

  1. 目标模式:即Schema,对应表的所属拥有对象
  2. 不执行任何更新:
    • 如果勾选,则只根据查询匹配结果进行插入操作
    • 未勾选,则执行更新和插入操作

Keys

该部分为查询匹配条件,需根据具体业务场景进行设置定义。其中,表字段即属性定义中的目标表;流里的字段即整个Transactions数据流中最后输出的字段;

只有当Keys部分中的所有匹配结果为True时,才算是匹配成功;如果其中一个或多个匹配条件为False时,则为匹配失败。

Fields

该部分为包含两个作用:

  1. 匹配表字段与流字段
  2. 判断是更新表字段还是插入表字段;
    • 如果“不行执行更新”勾选了,则均执行插入操作,Keys域无意义。
    • 当未勾选时,包含以下情况:
      • Keys部分判断结果为False:此时不管Fields域中“更新”字段是Y or N,都执行插入操作。
      • Keys部分判断结果为True:(1)当Fields域中所有字段匹配相同时,则不做更新、插入;(2)当Fields域中存在字段匹配不一致时,则会对字段继续进行更新。如果字段“更新”属性为Y则更新,为N则不更新。

综上,该组件基本可以应对所有数据的“插入/更新”操作。

参考


----------- 本文结束啦感谢您阅读 -----------

赞赏一杯咖啡

欢迎关注我的其它发布渠道