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

Кэш

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

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

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

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

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

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

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

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

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

Конфигурация LOG_CACHE_EVENTS включает подробное логирование для relational cache; по умолчанию оно отключено.

dbt compile --log-cache-events

Нашли ошибку?

0
Loading