数仓开发:更新变动数据

数仓

    • 一、数据更新检查
    • 二、更新目标表
    • 三、更新中间表

在数仓建设过程中,经常会遇到上游数据变动,进而更新下游目标表的情况,这个时候只需要根据主键update/insert即可,但也会遇到某些特殊情况,比如说下游update数据库后,还要update缓存中的数据,这时候为了提高效率,必须采取增量更新且数据更新为0条的情况不进行更新,也不执行update操作,也就是说update语句不能一直放在加工流程里面,本文探讨了在数据库层面如何实现这个需求

  • 新增一张中间表,表字段为表名(下游待更新表名)、下游待更新表的主键、变动时间,比如三个字段分别为table_name、primary_key、update_time

一、数据更新检查

  • 判断数据是否更新,用源表和中间表做判断

eg:

select count(1)
  from source_table a
  left join (

你可能感兴趣的:(数据库开发,sql,oracle,数据库)