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

Добавление Seeds в ваш DAG

Связанные справочные документы

Обзор

Seeds — это CSV файлы в вашем проекте dbt (обычно в вашем каталоге seeds), которые dbt может загрузить в ваш с помощью команды dbt seed.

Seeds могут быть использованы в последующих моделях так же, как и модели — с использованием функции ref.

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

Хорошие примеры использования seeds:

  • Список соответствий кодов стран и названий стран
  • Список тестовых email-адресов для исключения из анализа
  • Список идентификаторов учетных записей сотрудников

Плохие примеры использования dbt seeds:

  • Загрузка необработанных данных, экспортированных в CSV
  • Любые производственные данные, содержащие конфиденциальную информацию. Например, персональные данные (PII) и пароли.

Пример

Чтобы загрузить seed файл в ваш проект dbt:

  1. Добавьте файл в ваш каталог seeds с расширением .csv, например, seeds/country_codes.csv
seeds/country_codes.csv
country_code,country_name
US,United States
CA,Canada
GB,United Kingdom
...
  1. Выполните команду dbt seed — в вашем хранилище данных в целевой схеме будет создана новая , названная country_codes
$ dbt seed

Найдено 2 модели, 3 теста, 0 архивов, 0 анализов, 53 макроса, 0 операций, 1 seed файл

14:46:15 | Параллелизм: 1 поток (цель='dev')
14:46:15 |
14:46:15 | 1 из 1 НАЧАТЬ seed файл analytics.country_codes........................... [ВЫПОЛНЯЕТСЯ]
14:46:15 | 1 из 1 ОК загружен seed файл analytics.country_codes....................... [ВСТАВЛЕНО 3 за 0.01с]
14:46:16 |
14:46:16 | Завершено выполнение 1 seed за 0.14с.

Завершено успешно

Готово. УСПЕХ=1 ОШИБКА=0 ПРОПУСК=0 ВСЕГО=1
  1. Ссылайтесь на seeds в последующих моделях, используя функцию ref.
models/orders.sql
-- Это ссылается на таблицу, созданную из seeds/country_codes.csv
select * from {{ ref('country_codes') }}

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

Seeds настраиваются в вашем dbt_project.yml, ознакомьтесь с документацией по конфигурациям Seed для полного списка доступных настроек.

Документирование и тестирование seeds

Вы можете документировать и тестировать seeds в YAML, объявляя свойства — ознакомьтесь с документацией по свойствам Seed для получения дополнительной информации.

Часто задаваемые вопросы

Can I use seeds to load raw data?
Могу ли я хранить свои seed-файлы в другой директории, отличной от директории `seeds` в моем проекте?
Колонки моего seed изменились, и теперь я получаю ошибку при выполнении команды `seed`, что мне делать?
Как тестировать и документировать seeds?
Как задать тип данных для столбца в seed?
Как запустить модели, зависящие от seed?
Как сохранить ведущие нули в исходных данных?
Как построить один seed за раз?
Выполняются ли хуки с сидами?
0