Установка dbt CLI
dbt нативно поддерживает разработку с использованием командной строки (CLI), предоставляя участникам команды больше гибкости и улучшая совместную работу. CLI для dbt позволяет запускать команды dbt из локальной командной строки, обращаясь к вашей среде разработки в dbt.
Команды dbt выполняются на инфраструктуре dbt и используют следующие преимущества:
- Безопасное хранение учетных данных на платформе dbt
- Автоматическое отложенное использование (deferral) артефактов сборки из продакшн‑среды вашего Cloud‑проекта
- Более быстрые и менее затратные сборки
- Поддержка dbt Mesh (межпроектный
ref) - Существенные улучшения платформы, которые будут выпускаться в ближайшие месяцы
Диаграмма, показывающая, как dbt CLI работает с инфраструктурой dbt для запуска команд dbt из локальной командной строки.Предварительные требования
CLI для dbt доступен во всех регионах развертывания и поддерживается как для мультиарендных, так и для одноарендных аккаунтов.
Установка dbt CLI
Вы можете установить CLI для dbt из командной строки, используя один из следующих способов.
Посмотреть видеоурок с пошаговым руководством по установке.
- macOS (brew)
- Windows (исполняемый файл)
- Linux (исполняемый файл)
- Существующие пользователи dbt Core (pip)
Прежде чем начать, убедитесь, что у вас установлен Homebrew в вашем редакторе кода или терминале командной строки. Обратитесь к Часто задаваемым вопросам, если ваша операционная система сталкивается с конфликтами путей.
- Убедитесь, что у вас не установлен dbt Core, выполнив следующую команду:
which dbt
Если вывод dbt not found, это подтверждает, что он не установлен.
pip uninstall dbt, чтобы удалить dbt CoreЕсли вы установили dbt Core глобально каким-либо другим способом, сначала удалите его перед продолжением:
pip uninstall dbt
-
Установите Cloud CLI с помощью Homebrew:
- Сначала удалите
dbt-labstap, отдельный репозиторий для пакетов, из Homebrew. Это предотвратит установку пакетов из этого репозитория:brew untap dbt-labs/dbt
- Сначала удалите
- Затем добавьте и установите пакет Cloud CLI:
Если у вас несколько tap, используйте
brew tap dbt-labs/dbt-cli
brew install dbtbrew install dbt-labs/dbt-cli/dbt.
-
Проверьте установку, выполнив
dbt --helpв командной строке. Если вы видите следующий вывод, ваша установка выполнена правильно:The dbt CLI - an ELT tool for running SQL transformations and data models in dbt...Если вы не видите этот вывод, убедитесь, что вы деактивировали pyenv или venv и у вас не установлена глобальная версия dbt.
- Обратите внимание, что вам больше не нужно выполнять команду
dbt depsпри запуске вашей среды. Этот шаг ранее требовался во время инициализации. Однако вы все равно должны выполнятьdbt deps, если вносите изменения в ваш файлpackages.yml.
- Обратите внимание, что вам больше не нужно выполнять команду
-
Клонируйте ваш репозиторий на ваш локальный компьютер, используя
git clone. Например, чтобы клонировать репозиторий GitHub в формате HTTPS, выполнитеgit clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY. -
После клонирования вашего репозитория настройте Cloud CLI для вашего проекта dbt. Это позволит вам запускать команды dbt, такие как
dbt environment showдля просмотра конфигурации dbt илиdbt compile— для компиляции проекта и проверки моделей и тестов. Также вы сможете добавлять, редактировать и синхронизировать файлы с вашим репозиторием.
Обратитесь к Часто задаваемым вопросам, если ваша операционная система сталкивается с конфликтами путей.
-
Скачайте последнюю версию для Windows для вашей платформы с GitHub.
-
Извлеките исполняемый файл
dbt.exeв ту же папку, что и ваш проект dbt.
Продвинутые пользователи могут настроить несколько проектов так, чтобы они использовали один и тот же CLI dbt, следующим образом:
- Поместите исполняемый файл (
.exe) в папку "Program Files" - Добавьте его в переменную среды PATH Windows
- Сохраните его там, где это необходимо
Обратите внимание, что если вы используете VS Code, вам нужно перезапустить его, чтобы применить измененные переменные среды.
-
Проверьте установку, выполнив команду
./dbt --helpв командной строке. Если вы видите следующий вывод, значит установка выполнена корректно:The dbt CLI - an ELT tool for running SQL transformations and data models in dbt...Если вы не видите этот вывод, убедитесь, что вы деактивировали pyenv или venv и у вас не установлена глобальная версия dbt.
- Обратите внимание, что вам больше не нужно выполнять команду
dbt depsпри запуске вашей среды. Этот шаг ранее требовался во время инициализации. Однако вы все равно должны выполнятьdbt deps, если вносите изменения в ваш файлpackages.yml.
- Обратите внимание, что вам больше не нужно выполнять команду
-
Клонируйте ваш репозиторий на локальный компьютер с помощью
git clone. Например, чтобы клонировать репозиторий GitHub с использованием формата HTTPS, выполните командуgit clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY. -
После клонирования репозитория настройте Cloud CLI для вашего проекта dbt. Это позволит запускать команды dbt, такие как
dbt environment show, чтобы просматривать конфигурацию dbt, илиdbt compile, чтобы скомпилировать проект и проверить модели и тесты. Вы также сможете добавлять, редактировать и синхронизировать файлы с вашим репозиторием.
Обратитесь к Часто задаваемым вопросам, если ваша операционная система сталкивается с конфликтами путей.
-
Скачайте последнюю версию для Linux для вашей платформы с GitHub. (Выберите файл в зависимости от архитектуры вашего процессора)
-
Извлеките бинарный файл
dbt-cloud-cliв ту же папку, что и ваш проект dbt.
tar -xf dbt_0.29.9_linux_amd64.tar.gz
./dbt --version
Опытные пользователи могут настроить несколько проектов на использование одного и того же исполняемого файла dbt CLI, добавив его в переменную окружения PATH в своём shell profile.
-
Проверьте установку, выполнив
./dbt --helpв командной строке. Если вы видите следующий вывод, ваша установка выполнена правильно:The dbt CLI - an ELT tool for running SQL transformations and data models in dbt...Если вы не видите этот вывод, убедитесь, что вы деактивировали pyenv или venv и у вас не установлена глобальная версия dbt.
- Обратите внимание, что вам больше не нужно выполнять команду
dbt depsпри запуске вашей среды. Этот шаг ранее требовался во время инициализации. Однако вы все равно должны выполнятьdbt deps, если вносите изменения в ваш файлpackages.yml.
- Обратите внимание, что вам больше не нужно выполнять команду
-
Клонируйте ваш репозиторий на ваш локальный компьютер, используя
git clone. Например, чтобы клонировать репозиторий GitHub в формате HTTPS, выполнитеgit clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY. -
После клонирования вашего репозитория настройте Cloud CLI для вашего проекта dbt. Это позволит вам выполнять команды dbt, такие как
dbt environment show, чтобы просматривать конфигурацию dbt, илиdbt compile, чтобы скомпилировать проект и проверить модели и тесты. Вы также сможете добавлять, редактировать и синхронизировать файлы с вашим репозиторием.
Если у вас уже установлен dbt Core, Cloud CLI может конфликтовать с ним. Ниже приведены некоторые рекомендации:
- Предотвращение конфликтов
Используйте и Cloud CLI, и dbt Core черезpip, создав новое виртуальное окружение. - Использование Cloud CLI и dbt Core с Homebrew или нативной установкой
Если вы используете Homebrew, рассмотрите возможность задать алиас для Cloud CLI какdbt-cloud, чтобы избежать конфликтов. Подробнее см. в разделе FAQs, если в вашей операционной системе возникают конфликты путей. - Возврат к dbt Core с Cloud CLI
Если вы уже установили Cloud CLI и вам нужно вернуться к dbt Core:
- Удалите Cloud CLI с помощью команды:
pip uninstall dbt - Переустановите dbt Core с помощью следующей команды, заменив
adapter_nameна соответствующее имя адаптера:Например, если я использовал Snowflake в качестве адаптера, я бы выполнил:python -m pip install dbt-adapter_name --force-reinstallpython -m pip install dbt-snowflake --force-reinstall
- Удалите Cloud CLI с помощью команды:
Перед установкой Cloud CLI убедитесь, что у вас установлен Python, а также настроено виртуальное окружение venv или pyenv. Если у вас уже есть сконфигурированное Python‑окружение, вы можете сразу перейти к шагу установки через pip.
Установка виртуальной среды
Мы рекомендуем использовать виртуальные среды (venv) для изоляции cloud-cli.
-
Создайте новую виртуальную среду с именем "dbt-cloud" с помощью этой команды:
python3 -m venv dbt-cloud -
Активируйте виртуальную среду каждый раз, когда создаете окно или сеанс оболочки, в зависимости от вашей операционной системы:
- Для Mac и Linux используйте:
source dbt-cloud/bin/activate - Для Windows используйте:
dbt-env\Scripts\activate
- Для Mac и Linux используйте:
-
(Только для Mac и Linux) Создайте псевдоним для активации вашей среды dbt с каждым новым окном или сеансом оболочки. Вы можете добавить следующее в файл конфигурации вашей оболочки (например,
$HOME/.bashrc, $HOME/.zshrc), заменив<PATH_TO_VIRTUAL_ENV_CONFIG>на путь к вашей конфигурации виртуальной среды:alias env_dbt='source <PATH_TO_VIRTUAL_ENV_CONFIG>/bin/activate'
Установка dbt CLI через pip
- (Необязательно) Если у вас уже установлен dbt Core, эта установка перезапишет данный пакет. Проверьте версию dbt Core на случай, если вам потребуется переустановить его позже, выполнив следующую команду:
dbt --version
- Убедитесь, что вы находитесь в своём виртуальном окружении, и выполните следующую команду, чтобы установить CLI dbt:
pip install dbt --no-cache-dir
Если возникают проблемы с установкой, выполнение команды с аргументом --force-reinstall может помочь:
pip install dbt --no-cache-dir --force-reinstall
- (Необязательно) Чтобы вернуться к dbt Core, сначала удалите и dbt CLI, и dbt Core. Затем переустановите dbt Core.
pip uninstall dbt-core dbt
pip install dbt-adapter_name --force-reinstall
-
Клонируйте ваш репозиторий на ваш локальный компьютер, используя
git clone. Например, чтобы клонировать репозиторий GitHub в формате HTTPS, выполнитеgit clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY. -
После клонирования вашего репозитория настройте Cloud CLI для вашего проекта dbt. Это позволит вам запускать команды dbt, такие как
dbt environment show, чтобы просматривать конфигурацию dbt, илиdbt compile, чтобы скомпилировать проект и проверить модели и тесты. Вы также можете добавлять, редактировать и синхронизировать файлы с вашим репозиторием.
Обновление dbt CLI
Следующие инструкции объясняют, как обновить Cloud CLI до последней версии в зависимости от вашей операционной системы.
Следующие инструкции объясняют, как обновить dbt Cloud CLI до последней версии в зависимости от вашей операционной системы.
- macOS (brew)
- Windows (исполняемый файл)
- Linux (исполняемый файл)
- Существующие пользователи dbt Core (pip)
Чтобы обновить Cloud CLI, выполните команду brew update, а затем brew upgrade dbt.
Чтобы обновить, следуйте тому же процессу, описанному в Windows, и замените существующий исполняемый файл dbt.exe на новый.
Чтобы обновить, следуйте тому же процессу, описанному в Linux, и замените существующий исполняемый файл dbt на новый.
Чтобы обновить:
- Убедитесь, что вы находитесь в вашей виртуальной среде
- Выполните
python -m pip install --upgrade dbt.
К рассмотрению
Cloud CLI в настоящее время не поддерживает относительные пути в файле packages.yml. Вместо этого используйте Studio IDE, который поддерживает относительные пути в этом сценарии.
Ниже приведён пример конфигурации локального пакета в packages.yml, которая не будет работать с Cloud CLI:
# repository_root/my_dbt_project_in_a_subdirectory/packages.yml
packages:
- local: ../shared_macros
В этом примере ../shared_macros — это относительный путь, который указывает dbt:
..— перейти на один уровень вверх (вrepository_root);/shared_macros— найти папкуshared_macrosв корневом каталоге.
Чтобы обойти это ограничение, используйте Studio IDE, который полностью поддерживает относительные пути в packages.yml.