我们可以将delete SQL语句转换为DBT吗



我正试图从SQL构建一个DBT模型,该模型具有基于where子句的delete语句。

有谁能建议我如何将下面的SQL删除语句转换为DBT模型吗?

"delete table_name where condition;

''

感谢

在dbt:中有几个运行DELETE语句的选项

  • 添加DELETE语句作为现有模型的pre_hook或post_hook
  • 创建操作宏以独立于模型运行DELETE语句

注意,除非您的模型物化类型是";增量";从模型目标中删除没有多大意义。

免责声明:我使用dbt的时间不长,所以可能有更好的方法,或者根本不使用dbt
不确定您的用例是什么,但在将现有数据仓库逻辑改装到dbt中时,我不得不使用DELETE。如果您从零开始使用dbt,那么可能会尝试避免需要删除数据的设计。

我需要实现删除以符合CCPA删除要求。我们的原始层是drop&每天重新生成,所以如果一行在原始表中不存在,则需要在下游表中删除它。

阶段层是一组视图,用于重命名和强制转换原始表,并将代理项创建为sha1(raw_table_business_key)。EDW增量加载表的Pre_hook类似于:

delete from {{ this }} where skey not in 
(select skey from {{ ref('stage_view') }})

是的,它绝对重述了历史。

最新更新