zoukankan      html  css  js  c++  java
  • odi增量更新策略

    增量更新策略:通过一个“update key”比较流数据记录与目标表中的记录比较进行数据整合。具有相同“update key”的记录当相关联列不同时将被更新;在目标表中不存在的记录将被插入。这种方式用来操作记录的变化不需要记录的时候。

    IKM使用面向SQL编程的方法而不是通过逐行记录比较的方法来比较记录的不同。这种策略最常用的方法为把转换后的数据整合到I$表中,步骤:
    ①创建I$表,增加一个叫IND_UPDATE的列,用来标识这条记录是被插入还是被更新
    ②把流数据插入到I$表中,所有的源数据被转换和插入到I$表中,IND_UPDATE被设置为“I”;
    ③如果在接口中选择“recycle errors”,则把被拒绝的记录添加进来;
    ④调用CKM进行数据质量检查;
    ⑤更新I$表的ind_update列如果与目标表中更新键相同的记录则标记为“U”;
    ⑥再次更新表I$中ind_update为“U”的记录,如果这些记录的列值与目标表相同则ind_update设置为“N”,接下来I$表中包含下面的记录:
      ·“I”这些记录将被插入
      ·“U”这些被更新
      ·“N”这些记录被忽略
    ⑦使用I$表中“U”的记录更新目标表;
    ⑧使用I$表中“I”的记录插入目标表。

    注意:更新键必须是唯一的,在到多数情况下主键可以作为更新键。如果主键是代理键(自动更新的),在这种情况下基于源的列被用作更新键。
    IKM incremental update的步骤:
    ①Create the flow table in the staging area
    ②Determine what to update (using the update key)
    ③Determine what shouldn’t be updated by comparing the data
    ④Update the target with the existing records
    ⑤Insert new records

  • 相关阅读:
    Django知识总结(一)
    Django知识总结(二)
    Django知识总结(三)
    机器学习领域主要术语的英文表达
    Python的进程与线程--思维导图
    MySQL数据库--思维导图
    5.18 每日小三练
    5.14 每日小三练
    5.12 每日小三练
    5.9 每日小三练
  • 原文地址:https://www.cnblogs.com/lcword/p/5859142.html
Copyright © 2011-2022 走看看