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

Кэш

Заполнение кэша

В начале выполнения dbt кэширует метаданные обо всех объектах во всех схемах, где могут быть материализованы ресурсы (такие как модели). По умолчанию dbt заполняет реляционный кэш информацией обо всех схемах, связанных с проектом.

Существует два способа изменить это поведение:

  • POPULATE_CACHE (по умолчанию: True): Заполнять ли кэш вообще. Чтобы полностью пропустить заполнение кэша, используйте флаг --no-populate-cache или DBT_POPULATE_CACHE: False. Обратите внимание, что это не отключает кэш; пропущенные запросы к кэшу будут выполняться, и кэш будет обновляться после этого.
  • CACHE_SELECTED_ONLY (по умолчанию False): Ограничить ли заполнение кэша только ресурсами, выбранными в текущем запуске. Это может значительно ускорить выполнение, если вы работаете с небольшой частью большого проекта, при этом сохраняя преимущества предварительного кэширования.

Например, чтобы быстро скомпилировать модель, которая не требует метаданных базы данных или интроспективных запросов:


dbt --no-populate-cache compile --select my_model_name

Или, чтобы улучшить скорость и производительность при разработке моделей Salesforce, которые материализуются в своей собственной выделенной схеме, вы можете выбрать эти модели и передать флаг cache-selected-only:


dbt --cache-selected-only run --select salesforce

Логирование событий реляционного кэша

Конфигурация LOG_CACHE_EVENTS позволяет вести детализированный журнал для relational cache, которые по умолчанию отключены.

dbt --log-cache-events compile
0