首页 > 解决方案 > 为什么我的 dbt 快照导致同一天有这么多 dbt_from_dates?

问题描述

有人可以帮我理解我的快照的行为吗?

我创建了一个快照,并安排它在世界标准时间每天上午 10 点运行一次。运行时间不到 4 分钟(连同其他一些快照)

但是,当我查询时 select distinct dbt_from_date from mysnapshot where to_date(dbt_from_date) = '2021-10-07'(参见屏幕截图 1),结果是 993 行,跨越一天的 8 小时。我希望结果在快照运行时只有一行。或者在最坏的情况下,跨度不应超过构建快照所需的 4 分钟。

这是我的快照的代码

{% snapshot XYZ_snapshot %}

{{
    config(
      target_database='analytics',
      target_schema='snapshots',
      unique_key='id',
      strategy='timestamp',
      updated_at='updated_at',
      invalidate_hard_deletes=True
    )
}}

select * from {{ source('XYZ', 'ABC') }}

{% endsnapshot %}

截图 1

标签: snapshotdbt

解决方案


推荐阅读