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

Конфигурации seed

Доступные конфигурации

Конфигурации, специфичные для seed

Конфигурации, специфичные для ресурса, применимы только к одному типу ресурса dbt, а не к нескольким типам ресурсов. Вы можете определить эти настройки в файле проекта (dbt_project.yml), в файле свойств (models/properties.yml для моделей, аналогично для других ресурсов) или внутри файла ресурса, используя макрос {{ config() }}.

Следующие конфигурации, специфичные для ресурса, доступны только для Seeds:

dbt_project.yml
seeds:
<resource-path>:
+quote_columns: true | false
+column_types: {column_name: datatype}
+delimiter: <string>

Общие конфигурации

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

dbt_project.yml

Конфигурирование seed

Seed можно настроить только из YAML-файлов, либо в dbt_project.yml, либо в YAML-свойствах отдельного seed. Невозможно настроить seed из его CSV-файла.

Конфигурации seed, как и конфигурации моделей, применяются иерархически — конфигурации, примененные к подкаталогу marketing, будут иметь приоритет над конфигурациями, примененными ко всему проекту jaffle_shop, а конфигурации, определенные в свойствах конкретного seed, будут переопределять конфигурации, определенные в dbt_project.yml.

Примеры

Применение конфигурации schema ко всем seed

Чтобы применить конфигурацию ко всем seed, включая те, что находятся в установленных пакетах, вложите конфигурацию непосредственно под ключ seeds:

dbt_project.yml

seeds:
+schema: seed_data

Применение конфигурации schema ко всем seed в вашем проекте

Чтобы применить конфигурацию ко всем seed только в вашем проекте (т.е. исключая любые seed в установленных пакетах), укажите имя вашего проекта как часть пути к ресурсу.

Для проекта с именем jaffle_shop:

dbt_project.yml

seeds:
jaffle_shop:
+schema: seed_data

Аналогично, вы можете использовать имя установленного пакета для настройки seed в этом пакете.

Применение конфигурации schema только к одному seed

Чтобы применить конфигурацию только к одному seed, укажите полный путь к ресурсу (включая имя проекта и подкаталоги).

seeds/marketing/properties.yml
version: 2

seeds:
- name: utm_parameters
config:
schema: seed_data

В более старых версиях dbt вы должны определить конфигурации в dbt_project.yml и включить полный путь к ресурсу (включая имя проекта и подкаталоги). Для проекта с именем jaffle_shop, с файлом seed в seeds/marketing/utm_parameters.csv, это будет выглядеть так:

dbt_project.yml
seeds:
jaffle_shop:
marketing:
utm_parameters:
+schema: seed_data

Пример конфигурации seed

Ниже приведен пример допустимой конфигурации seed для проекта с:

  • name: jaffle_shop
  • Файлом seed в seeds/country_codes.csv, и
  • Файлом seed в seeds/marketing/utm_parameters.csv
dbt_project.yml
name: jaffle_shop
...
seeds:
jaffle_shop:
+enabled: true
+schema: seed_data
# Это настраивает seeds/country_codes.csv
country_codes:
# Переопределение типов столбцов
+column_types:
country_code: varchar(2)
country_name: varchar(32)
marketing:
+schema: marketing # это будет иметь приоритет
0