Перейти к основному содержимому

unique_key

Настройте unique_key в блоке config вашего SQL файла инкрементальной модели, в вашем файле models/properties.yml или в вашем файле dbt_project.yml.

models/my_incremental_model.sql
{{
config(
materialized='incremental',
unique_key='id'
)
}}

models/properties.yml
models:
- name: my_incremental_model
description: "Пример инкрементальной модели с уникальным ключом."
config:
materialized: incremental
unique_key: id

dbt_project.yml
name: jaffle_shop

models:
jaffle_shop:
staging:
+unique_key: id

Описание

Имя столбца или выражение, которое является уникальным для входных данных снимка или инкрементальной модели. dbt использует это для сопоставления записей между набором результатов и существующим снимком или инкрементальной моделью, чтобы изменения могли быть правильно зафиксированы.

В dbt Cloud "Latest" и начиная с dbt v1.9, снимки определяются и настраиваются в YAML файлах в вашем каталоге snapshots/. Вы можете указать одно или несколько значений unique_key в ключе config вашего YAML файла снимка.

предупреждение

Предоставление неуникального ключа приведет к неожиданным результатам снимка. dbt не будет проверять уникальность этого ключа, рассмотрите возможность тестирования исходных данных, чтобы убедиться, что этот ключ действительно уникален.

По умолчанию

Это обязательный параметр. Значение по умолчанию не предоставляется.

Примеры

Использование столбца id в качестве уникального ключа

В этом примере столбец id является уникальным ключом для инкрементальной модели.

models/my_incremental_model.sql
{{
config(
materialized='incremental',
unique_key='id'
)
}}

select * from ..
0