给定一个包含 20 列的表,我当前的模型已经将所有记录插入到表中。不过,我想将增量更新专门集中在几个专栏上。
例如,给出下表模型。当新值可用时,我想仅使用新值增量更新 C 列,而不是删除并重新插入整行,这从索引/性能角度来看成本更高。
现存的:
| ID | 乙 | C |
|---|---|---|
| n1 | X | 1 |
| n2 | 是 | 2 |
| n3 | Z | 3 |
新的:
| ID | 乙 | C |
|---|---|---|
| n1 | X | 1.2 |
| n2 | 是 | 2.1 |
| n3 | Z | 3.5 |
看来这个功能将被添加到dbt的下一版本(v0.20.0)中。但总而言之,用于指定列的新选项(merge_update_columns)将在 model\xe2\x80\x99s 配置块中可用。
\n{{\n config(\n materialized = \'incremental\',\n unique_key = \'id\',\n merge_update_columns = [\'c\'],\n ...\n )\n}}\n\nselect ...\nRun Code Online (Sandbox Code Playgroud)\n检查文档以了解更多详细信息:\n https://next.docs.getdbt.com/docs/building-a-dbt-project/building-models/configuring-incremental-models#strategy-specific-configs
\n