DBT 快照命令每次重新创建 table,不添加 dbt 字段
DBT snapshot command recreates table every time, does not add the dbt fields
我正在使用 dbt 和 BigQuery 制作我的第一个快照原型。它具有以下配置:
{{
config(
target_schema=REDACTED,
strategy='check',
unique_key=REDACTED,
check_cols='all',
materialized='table',
cluster_by = REDACTED,
labels = REDACTED
)
}}
一开始它运行良好,在第一个 dbt snapshot
上创建了 table 并且它有字段 dbt_valid_from
和 dbt_valid_to
.
第一个运行显示:
[CREATE TABLE (228.0 rows, 21.4 KB processed) in 4.71s]
在第二个 运行 上显示:
[MERGE (0.0 rows, 37.7 KB processed) in 11.24s]
然后由于某种原因,它停止工作了。现在每次我 运行 dbt snapshot
,table 都是从头开始重新创建的。而且,它没有 dbt 字段 dbt_valid_from
和 dbt_valid_to
。所以dbt不能使快照工作是可以理解的。
我试过逆转我所有的行为,但我无法摆脱这个问题。我还尝试删除包含编译文件的 target
文件夹。我怎样才能让快照再次工作?
显然问题在于在快照配置中添加 materialized='table'
。我认为没有这个,快照将是一个视图。但事实并非如此。所以我会完全省略这个选项。
我正在使用 dbt 和 BigQuery 制作我的第一个快照原型。它具有以下配置:
{{
config(
target_schema=REDACTED,
strategy='check',
unique_key=REDACTED,
check_cols='all',
materialized='table',
cluster_by = REDACTED,
labels = REDACTED
)
}}
一开始它运行良好,在第一个 dbt snapshot
上创建了 table 并且它有字段 dbt_valid_from
和 dbt_valid_to
.
第一个运行显示:
[CREATE TABLE (228.0 rows, 21.4 KB processed) in 4.71s]
在第二个 运行 上显示:
[MERGE (0.0 rows, 37.7 KB processed) in 11.24s]
然后由于某种原因,它停止工作了。现在每次我 运行 dbt snapshot
,table 都是从头开始重新创建的。而且,它没有 dbt 字段 dbt_valid_from
和 dbt_valid_to
。所以dbt不能使快照工作是可以理解的。
我试过逆转我所有的行为,但我无法摆脱这个问题。我还尝试删除包含编译文件的 target
文件夹。我怎样才能让快照再次工作?
显然问题在于在快照配置中添加 materialized='table'
。我认为没有这个,快照将是一个视图。但事实并非如此。所以我会完全省略这个选项。