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

  • 相关阅读:
    Git 创建仓库并拉取代码
    Linux export 命令
    Linux ps 命令
    Linux sed 命令
    Linux find 命令
    Linux chmod 命令
    Linux chgrp 命令
    解除/配置 linux/nginx 的 tcp 连接(nginx配置文件日常配置推荐)
    更改Ubuntu的apt源
    anaconda 各版本的下载地址
  • 原文地址:https://www.cnblogs.com/lcword/p/5859142.html
Copyright © 2011-2022 走看看