【问题标题】:snapshot table in dbt does not have metadata fieldsdbt 中的快照表没有元数据字段
【发布时间】:2022-12-22 01:36:44
【问题描述】:

我正在尝试使用 dbt 创建表的快照。当我创建快照时,表已创建但没有元数据字段,如 dbt_valid_to、dbt_valid_from、dbt_scd_id

这是我正在尝试的代码

`{% snapshot test_snp %}`
`{{`
  `config(`
   `materialized = 'table',`
   `target_database = 'tgt_db',`
   `target_schema = 'tgt_schema',`
   `strategy = 'check'`
   `check_cols = 'all'`
   `unique_key='unique_id,`
  `)`
`}}`

`select * from source`

`{% endsnapshot %}`

当我不提供 materialized = table 选项时,它会抛出错误“快照目标不是快照表(缺少“dbt_scd_id”、“dbt_valid_from”、“dbt_valid”to)

有没有人面临同样的问题?谢谢您的帮助

【问题讨论】:

  • 如果您 drop table tgt_db.tgt_schema.test_snp 并通过运行 dbt snapshot 再试一次会发生什么?

标签: snowflake-schema dbt


【解决方案1】:

snapshot 本质上是一个物化宏。通过将配置设置为

`materialized = 'table',`

您正在覆盖快照宏的具体化。只需从配置中删除它,元数据字段就会填充

【讨论】:

    猜你喜欢
    • 2021-11-14
    • 2022-07-22
    • 2020-07-09
    • 1970-01-01
    • 2021-11-17
    • 2021-07-01
    • 2021-05-21
    • 2020-12-27
    • 1970-01-01
    相关资源
    最近更新 更多