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

Установка dbt CLI

dbt нативно поддерживает разработку с использованием командной строки (CLI), предоставляя участникам команды больше гибкости и улучшая совместную работу. CLI для dbt позволяет запускать команды dbt из локальной командной строки, обращаясь к вашей среде разработки в dbt.

Команды dbt выполняются на инфраструктуре dbt и используют следующие преимущества:

Диаграмма, показывающая, как dbt CLI работает с ин�фраструктурой dbt для запуска команд dbt из локальной командной строки.Диаграмма, показывающая, как dbt CLI работает с инфраструктурой dbt для запуска команд dbt из локальной командной строки.

Предварительные требования

CLI для dbt доступен во всех регионах развертывания и поддерживается как для мультиарендных, так и для одноарендных аккаунтов.

Установка dbt CLI

Вы можете установить CLI для dbt из командной строки, используя один из следующих способов.

Посмотреть видеоурок с пошаговым руководством по установке.

Прежде чем начать, убедитесь, что у вас установлен Homebrew в вашем редакторе кода или терминале командной строки. Обратитесь к Часто задаваемым вопросам, если ваша операционная система сталкивается с конфликтами путей.

  1. Убедитесь, что у вас не установлен dbt Core, выполнив следующую команду:
which dbt

Если вывод dbt not found, это подтверждает, что он не установлен.

Выполните pip uninstall dbt, чтобы удалить dbt Core

Если вы установили dbt Core глобально каким-либо другим способом, сначала удалите его перед продолжением:

pip uninstall dbt
  1. Установите Cloud CLI с помощью Homebrew:

    • Сначала удалите dbt-labs tap, отдельный репозиторий для пакетов, из Homebrew. Это предотвратит установку пакетов из этого репозитория:
      brew untap dbt-labs/dbt
  • Затем добавьте и установите пакет Cloud CLI:
    brew tap dbt-labs/dbt-cli
    brew install dbt
    Если у вас несколько tap, используйте brew install dbt-labs/dbt-cli/dbt.
  1. Проверьте установку, выполнив 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.
  2. Клонируйте ваш репозиторий на ваш локальный компьютер, используя git clone. Например, чтобы клонировать репозиторий GitHub в формате HTTPS, выполните git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.

  3. После клонирования вашего репозитория настройте Cloud CLI для вашего проекта dbt. Это позволит вам запускать команды dbt, такие как dbt environment show для просмотра конфигурации dbt или dbt compile — для компиляции проекта и проверки моделей и тестов. Также вы сможете добавлять, редактировать и синхронизировать файлы с вашим репозиторием.

Обновление dbt CLI

Следующие инструкции объясняют, как обновить Cloud CLI до последней версии в зависимости от вашей операционной системы.

Следующие инструкции объясняют, как обновить dbt Cloud CLI до последней версии в зависимости от вашей операционной системы.

Чтобы обновить Cloud CLI, выполните команду brew update, а затем brew 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.

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

 В чем разница между dbt CLI и dbt Core?
 Как использовать одновременно dbt CLI и dbt Core?
 Как создать псевдоним?
 Почему я получаю ошибку `Stuck session`, пытаясь выполнить новую команду?
Я получаю ошибку «Session occupied» в dbt CLI

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

0
Loading