Об артефактах dbt
При каждом запуске dbt генерирует и сохраняет один или несколько артефактов. Несколько из них представляют собой JSON файлы (semantic_manifest.json, manifest.json, catalog.json, run_results.json и sources.json), которые используются для:
Они также могут быть использованы для:
- получать инсайты о вашем Semantic Layer
- рассчитывать покрытие тестами на уровне проекта
- выполнять продольный анализ времени выполнения запусков
- выявлять исторические изменения в структуре table
- и делать многое, многое другое
Когда создаются артефакты? StarterEnterprise
Большинство команд dbt (и соответствующих RPC методов) создают артефакты:
- семантический манифест: создается всякий раз, когда ваш dbt проект анализируется
- манифест: создается командами, которые читают и понимают ваш проект
- результаты выполнения: создается командами, которые выполняют, компилируют или каталогизируют узлы в вашем DAG
- каталог: создается командой
docs generate - источники: создается командой
source freshness
При запуске команд из dbt CLI по умолчанию загружаются все артефакты. Если вы хотите изменить это поведение, обратитесь к разделу How to skip artifacts from being downloaded.
Где создаются артефакты?
По умолчанию артефакты записываются в директорию /target вашего dbt проекта. Вы можете настроить расположение с помощью флага target-path.
Общие метаданные
Все артефакты, создаваемые dbt, включают словарь metadata с такими свойствами:
dbt_version: Версия dbt, которая создала этот артефакт. Для получения подробной информации о версионировании релизов обратитесь к Версионирование.dbt_schema_version: URL схемы этого артефакта. См. примечания ниже.generated_at: Временная метка в UTC, когда этот артефакт был создан.adapter_type: Адаптер (база данных), например,postgres,sparkи т.д.env: Любые переменные окружения с префиксомDBT_ENV_CUSTOM_ENV_будут включены в словарь, где имя переменной без префикса будет ключом.invocation_id: Уникальный идентификатор для этого вызова dbt
В манифесте metadata также может включать:
send_anonymous_usage_stats: Отправлял ли этот вызов анонимную статистику использования во время выполнения.project_name:name, определенное в корневом проектеdbt_project.yml. (Добавлено в манифесте v10 / dbt Core v1.6)project_id: Идентификатор проекта, хешированный изproject_name, отправляется с анонимной статистикой использования, если она включена.user_id: Идентификатор пользователя, по умолчанию хранится в~/dbt/.user.yml, отправляется с анонимной статистикой использования, если она включена.
Примечания:
- Структура dbt артефактов канонизирована с помощью JSON схем, которые размещены на schemas.getdbt.com.
- Версии артефактов могут изменяться в любой минорной версии dbt (
v1.x.0). Каждый артефакт версионируется независимо.
Связанные документы
- Другие артефакты файлы, такие как
index.htmlилиgraph_summary.json.