Конфигурации seed
Доступные конфигурации
Конфигурации, специфичные для seed
Конфигурации, специфичные для ресурса, применимы только к одному типу ресурса dbt, а не к нескольким типам ресурсов. Вы можете определить эти настройки в файле проекта (dbt_project.yml), в файле свойств (models/properties.yml для моделей, аналогично для других ресурсов) или внутри файла ресурса, используя макрос {{ config() }}.
Следующие конфигурации, специфичные для ресурса, доступны только для Seeds:
- Файл проекта
- Файл свойств
seeds:
<resource-path>:
+quote_columns: true | false
+column_types: {column_name: datatype}
+delimiter: <string>
seeds:
- name: [<seed-name>]
config:
quote_columns: true | false
column_types: {column_name: datatype}
delimiter: <string>
Общие конфигурации
Общие конфигурации предоставляют более широкие операционные настройки, применимые к нескольким типам ресурсов. Как и конфигурации, специфичные для ресурсов, они также могут быть заданы в файле проекта, файлах свойств или в файлах, специфичных для ресурсов.
- Файл проекта
- Файл свойств
Конфигурирование seed
Seed можно настроить только из YAML-файлов, либо в dbt_project.yml, либо в YAML-свойствах отдельного seed. Невозможно настроить seed из его CSV-файла.
Конфигурации seed, как и конфигурации моделей, применяются иерархически — конфигурации, примененные к подкаталогу marketing, будут иметь приоритет над конфигурациями, примененными ко всему проекту jaffle_shop, а конфигурации, определенные в свойствах конкретного seed, будут переопределять конфигурации, определенные в dbt_project.yml.
Примеры
Применение конфигурации schema ко всем seed
Чтобы применить конфигурацию ко всем seed, включая те, что находятся в установленных пакетах, вложите конфигурацию непосредственно под ключ seeds:
seeds:
+schema: seed_data
Применение конфигурации schema ко всем seed в вашем проекте
Чтобы применить конфигурацию ко всем seed только в вашем проекте (т.е. исключая любые seed в установленных пакетах), укажите имя вашего проекта как часть пути к ресурсу.
Для проекта с именем jaffle_shop:
seeds:
jaffle_shop:
+schema: seed_data
Аналогично, вы можете использовать имя установленного пакета для настройки seed в этом пакете.
Применение конфигурации schema только к одному seed
Чтобы применить конфигурацию только к одному seed, укажите полный путь к ресурсу (включая имя проекта и подкаталоги).
seeds:
- name: utm_parameters
config:
schema: seed_data
В более старых версиях dbt вы должны определить конфигурации в dbt_project.yml и включить полный путь к ресурсу (включая имя проекта и подкаталоги). Для проекта с именем jaffle_shop, с файлом seed в seeds/marketing/utm_parameters.csv, это будет выглядеть так:
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
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 # это будет иметь приоритет