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

Использование префикса +

Префикс + — это синтаксическая особенность dbt, введенная в версии dbt v0.17.0, которая помогает различать пути к ресурсам и конфигурации в файлах dbt_project.yml.

Он несовместим с файлами dbt_project.yml, которые используют config-version 1.

Например:

dbt_project.yml
name: jaffle_shop
config-version: 2

...

models:
+materialized: view
jaffle_shop:
marts:
+materialized: table

На протяжении всей этой документации мы старались быть последовательными в использовании префикса + в файлах dbt_project.yml.

Однако, ведущий + на самом деле требуется только тогда, когда необходимо различать пути к ресурсам и конфигурации, например, когда:

  • Конфигурация принимает словарь в качестве входных данных, например, конфигурация persist_docs.
  • Или, конфигурация имеет ключ, совпадающий с частью пути к ресурсу, например, если у вас есть директория моделей с именем tags.
dbt_project.yml
name: jaffle_shop
config-version: 2

...

models:
+persist_docs: # эта конфигурация является словарем, поэтому нужен префикс +
relation: true
columns: true

jaffle_shop:
schema: my_schema # префикс плюс здесь необязателен
+tags: # это конфигурация тегов
- "hello"
tags: # тогда как это путь к ресурсу тегов
# Конфигурация ниже применяется к моделям в
# директории models/tags/.
# Примечание: здесь не _нужно_ использовать ведущий +,
# но это не повредит.
materialized: view


При добавлении конфигураций в dbt_project.yml использование префикса + не повредит, поэтому мы рекомендуем всегда его использовать.

Примечание: Использование префикса + в dbt_project.yml отличается от использования + для управления поведением слияния конфигураций (замена или добавление) в других настройках конфигурации (конкретные файлы ресурсов .yml и .sql). В настоящее время единственная конфигурация, которая поддерживает + для управления поведением слияния конфигураций, это grants.

0