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

Переход с dbt Core на dbt Cloud: Советы по оптимизации

Обновлен
Migration
dbt Core
dbt Cloud
Intermediate
Menu

    Введение

    Переход с dbt Core на dbt Cloud упрощает рабочие процессы аналитической инженерии, позволяя командам разрабатывать, тестировать, развертывать и исследовать продукты данных, используя единый полностью управляемый программный сервис.

    Изучите нашу серию из трех частей о переходе с dbt Core на dbt Cloud. Эта серия идеально подходит для пользователей, стремящихся к упрощенным рабочим процессам и улучшенной аналитике:

    Руководство
    Информация
    Аудитория
    Переход с dbt Core на dbt Cloud: Что нужно знатьПоймите, какие аспекты и методы нужно учитывать при переходе с dbt Core на dbt Cloud.Руководители команд
    Администраторы
    Переход с dbt Core на dbt Cloud: Начало работыУзнайте, какие шаги необходимы для перехода с dbt Core на dbt Cloud.Разработчики
    Инженеры данных
    Аналитики данных
    Переход с dbt Core на dbt Cloud: Советы по оптимизацииУзнайте, как оптимизировать работу с dbt Cloud с помощью распространенных сценариев и полезных советов.Все

    Почему стоит перейти на dbt Cloud?

    Если ваша команда сегодня использует dbt Core, вы можете читать это руководство по следующим причинам:

    • Вы осознали, насколько сложно поддерживать это развертывание.
    • Человек, который его настроил, уже ушел.
    • Вы заинтересованы в том, что dbt Cloud может предложить для лучшего управления сложностью вашего развертывания dbt, демократизации доступа для большего числа участников или улучшения практик безопасности и управления.

    Переход с dbt Core на dbt Cloud упрощает рабочие процессы, предоставляя полностью управляемую среду, которая улучшает сотрудничество, безопасность и оркестрацию. С dbt Cloud вы получаете доступ к таким функциям, как межкомандное сотрудничество (dbt Mesh), управление версиями, упрощенный CI/CD, dbt Explorer для получения всесторонних инсайтов и многое другое — что облегчает управление сложными развертываниями dbt и эффективное масштабирование ваших рабочих процессов с данными.

    Это идеальный выбор для команд, стремящихся снизить нагрузку на поддержку собственной инфраструктуры, одновременно улучшая управление и продуктивность.

    Чему вы научитесь

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

    Адаптеры и подключения

    В dbt Cloud вы можете нативно подключиться к вашей платформе данных и протестировать ее подключение нажатием одной кнопки. Это особенно полезно для пользователей, которые новички в dbt Cloud или стремятся упростить настройку подключения. Вот некоторые советы и предостережения, которые стоит учитывать:

    Советы

    • Управляйте версиями dbt и обеспечивайте командное сотрудничество с помощью функции dbt Cloud в один клик, устраняя необходимость в ручных обновлениях и несоответствиях версий. Выберите трассу выпуска для постоянных обновлений, чтобы всегда быть в курсе исправлений и (по желанию) получить ранний доступ к новой функциональности для вашего проекта dbt.
    • dbt Cloud поддерживает множество облачных провайдеров, включая Snowflake, Databricks, BigQuery, Fabric и Redshift (и это лишь некоторые из них).
    • Используйте расширенные атрибуты для установки гибкого фрагмента profiles.yml в настройках среды dbt Cloud. Это дает вам больше контроля над средами (как развертывания, так и разработки) и расширяет возможности подключения dbt Cloud к платформе данных в данной среде.
      • Например, если у вас есть поле в вашем profiles.yml, которое вы хотите добавить в пользовательский интерфейс адаптера dbt Cloud, вы можете использовать расширенные атрибуты для его настройки.

    Предостережения

    • Не все параметры доступны для адаптеров.
    • Проект может использовать только один тип хранилища.

    Инструменты разработки

    dbt Cloud предоставляет возможность специалистам по данным разрабатывать в инструменте по их выбору. Он поставляется с dbt Cloud CLI (локальным) или dbt Cloud IDE (на основе браузера) для создания, тестирования, запуска и контроля версий ваших проектов dbt.

    Оба инструмента разработки адаптированы для различных аудиторий и предпочтений в вашей команде. Чтобы упростить рабочий процесс вашей команды, важно знать, кто предпочтет dbt Cloud IDE, а кто может склониться к dbt Cloud CLI. Этот раздел направлен на разъяснение этих предпочтений.

    dbt Cloud IDE

    Веб-интерфейс для создания, тестирования, запуска и контроля версий проектов dbt. Он компилирует код dbt в SQL и выполняет его непосредственно в вашей базе данных. dbt Cloud IDE делает разработку быстрой и легкой как для новых, так и для опытных специалистов по данным, чтобы строить и тестировать изменения.

    Кто может предпочесть dbt Cloud IDE?

    • Новые пользователи dbt или те, кто переходит с других инструментов и ценит более управляемый опыт через интерфейс на основе браузера.
    • Члены команды, сосредоточенные на скорости и удобстве для начала работы с новым или существующим проектом.
    • Лица, которые придают приоритет прямой обратной связи от IDE, например, видя несохраненные изменения.

    Ключевые особенности

    • dbt Cloud IDE имеет упрощенную функциональность Git:
      • Создавайте ветки функций из ветки, настроенной в среде разработки.
      • Просматривайте сохраненные, но не зафиксированные изменения кода непосредственно в IDE.
    • Форматируйте или проверяйте ваш код с помощью sqlfluff или sqlfmt. Это включает поддержку добавления ваших собственных правил проверки.
    • Позволяет пользователям нативно откладывать на производство метаданные непосредственно в их рабочих процессах разработки, уменьшая количество объектов.
    • Поддерживает выполнение нескольких команд dbt одновременно через безопасное параллельное выполнение, функция, доступная в инфраструктуре dbt Cloud. В отличие от этого, dbt-core не поддерживает безопасное параллельное выполнение для нескольких вызовов в одном процессе.

    dbt Cloud IDE предоставляет упрощенный интерфейс, доступный для всех пользователей, независимо от их технического уровня. Однако есть некоторые возможности, которые намеренно недоступны в dbt Cloud IDE из-за его акцента на простоте и удобстве использования:

    • Предварительная проверка для автоматических проверок перед фиксацией кода пока недоступна.
    • Массовое создание файлов / взаимодействие с файловой системой недоступно.
    • Комбинирование/передача команд, таких как dbt run -s (bash command), недоступно.

    dbt Cloud CLI

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

    При переходе с dbt Core на dbt Cloud убедитесь, что файл .gitignore содержит необходимые папки. dbt Core не взаимодействует с git, поэтому dbt Cloud не добавляет и не проверяет автоматически записи в файл .gitignore. Кроме того, если репозиторий уже содержит код dbt и не требует инициализации, dbt Cloud не добавит недостающие записи в файл .gitignore.

    Кто может предпочесть dbt Cloud CLI?

    • Специалисты по данным, привыкшие работать с определенным набором инструментов разработки.
    • Пользователи, ищущие детальный контроль над своими рабочими процессами Git (например, предварительные проверки для автоматических проверок перед фиксацией кода).
    • Специалисты по данным, которым необходимо выполнять сложные операции, такие как массовое создание файлов или специфические комбинации команд.

    Ключевые особенности

    • Позволяет пользователям выполнять команды dbt в их среде разработки dbt Cloud из их локальной командной строки с минимальной настройкой.
    • Позволяет пользователям нативно откладывать на производство метаданные непосредственно в их рабочих процессах разработки, уменьшая количество объектов.
    • Поддерживает выполнение нескольких команд dbt одновременно через безопасное параллельное выполнение, функция, доступная в инфраструктуре dbt Cloud. В отличие от этого, dbt-core не поддерживает безопасное параллельное выполнение для нескольких вызовов в одном процессе.
    • Возможность использования расширений Visual Studio (VS) Code (таких как dbt-power-user для улучшения опыта разработки, добавляя дополнительные функции.

    Оркестрация

    dbt Cloud предоставляет надежную оркестрацию, которая позволяет вам легко планировать, запускать и отслеживать задания dbt. Вот некоторые советы и предостережения, которые стоит учитывать при использовании функций оркестрации dbt Cloud:

    Советы

    • Включите частичное разбор между заданиями в dbt Cloud, чтобы значительно ускорить разбор проекта, обрабатывая только измененные файлы, оптимизируя производительность для больших проектов.
    • Запускайте несколько CI/CD заданий одновременно, которые не будут блокировать производственные запуски. Планировщик заданий автоматически отменяет устаревшие запуски, когда поступает более новый коммит. Это происходит потому, что каждый PR будет запускаться в своей собственной схеме.
    • dbt Cloud автоматически отменяет запланированный запуск, если существующий запуск все еще выполняется. Это предотвращает ненужные, дублирующие выполнения.
    • Защитите вас и вашу свежесть данных от сбоев сторонних сервисов, включив кэширование Git-репозитория в dbt Cloud, которое сохраняет кэш Git-репозитория проекта. enterprise
    • Связывайте задания развертывания между проектами dbt Cloud, настраивая ваше задание или используя API создания задания для этого. teamenterprise
    • Перезапускайте ваши задания с начала или с точки сбоя, если выполнение вашего задания dbt завершилось со статусом Ошибка.

    Предостережения

    • Чтобы автоматизировать настройку и конфигурацию вашей платформы dbt Cloud, вы можете хранить конфигурации ваших заданий как код в репозитории:
      • Ознакомьтесь с нашим провайдером Terraform.
      • Кроме того, ознакомьтесь с нашим репозиторием jobs-as-code, который является инструментом, созданным для обработки заданий dbt Cloud как хорошо определенного YAML-файла.
    • Пользователи dbt Cloud и внешние электронные письма могут получать уведомления, если задание завершилось сбоем, успешно или было отменено. Чтобы получать уведомления о предупреждениях, вы можете создать подписку на вебхуки и отправлять сообщения в Slack.

    dbt Mesh

    dbt Mesh помогает организациям с зрелыми, сложными рабочими процессами трансформации в dbt повысить гибкость и производительность их проектов dbt. Он позволяет использовать несколько взаимосвязанных проектов dbt вместо одного большого монолитного проекта.

    Это позволяет вам взаимодействовать и перемещаться между различными проектами и моделями с межпроектными зависимостями, улучшая сотрудничество и управление данными.

    Вот некоторые советы и предостережения, которые стоит учитывать при использовании dbt Mesh:

    Советы

    • Чтобы динамически разрешать межпроектные ссылки, все разработчики должны разрабатывать с dbt Cloud (либо с dbt Cloud CLI, либо с dbt Cloud IDE). Межпроектные ссылки не поддерживаются нативно в dbt Core, за исключением установки исходного кода из вышестоящих проектов в виде пакетов
    • Связывайте модели между проектами для модульного и масштабируемого подхода к вашему проекту и командам.
    • Управляйте доступом к вашим моделям dbt как внутри, так и между проектами, используя:
      • Группы — Организуйте узлы в вашем dbt DAG, которые имеют логическую связь, и назначьте владельца всей группы.
      • Доступ к моделям — Контролируйте, какие другие модели или проекты могут ссылаться на эту модель.
      • Версии моделей — Позволяют принимать и устаревать модели по мере их развития.
      • Контракты моделей — Устанавливайте четкие ожидания относительно формы данных, чтобы гарантировать, что изменения данных выше по потоку dbt или в логике проекта не нарушают данные продуктов потребителей ниже по потоку.
    • Используйте dbt-meshify для ускорения разделения вашего монолита на несколько проектов.

    Предостережения

    • Чтобы использовать межпроектные ссылки в dbt, каждый проект dbt должен соответствовать только одному проекту dbt Cloud. Мы настоятельно не рекомендуем определять несколько проектов для одной и той же кодовой базы, даже если вы пытаетесь управлять разрешениями доступа, подключаться к различным хранилищам данных или разделять производственные и непроизводственные данные. Хотя это было необходимо исторически, такие функции, как Стадии среды, RBAC на уровне среды (скоро будет) и Расширенные атрибуты сделают это ненужным.
    • Зависимости проектов однонаправленные, что означает, что они идут в одном направлении. Это означает, что dbt проверяет наличие циклов между проектами (циклические зависимости) и выдает ошибки, если они обнаружены. Однако мы рассматриваем возможность поддержки, позволяющей проектам зависеть друг от друга в обоих направлениях в будущем, при этом dbt все еще будет проверять наличие циклов на уровне узлов, позволяя циклы на уровне проектов.
    • Все в аккаунте могут просматривать общедоступные метаданные моделей, что помогает пользователям легче находить продукты данных. Это отдельно от того, кто может получить доступ к фактическим данным, что контролируется разрешениями в хранилище данных. Для случаев использования, когда даже метаданные о повторно используемом активе данных являются конфиденциальными, мы рассматриваем возможность расширения защищенных моделей.

    Обратитесь к Часто задаваемым вопросам о dbt Mesh для получения дополнительных вопросов.

    Семантический слой dbt

    Используйте Семантический слой dbt, поддерживаемый MetricFlow, чтобы создать единое представление ваших бизнес-метрик, обеспечивая согласованность во всех аналитических инструментах. Вот некоторые советы и предостережения, которые стоит учитывать при использовании Семантического слоя dbt:

    Советы

    • Определяйте семантические модели и метрики один раз в dbt Cloud с помощью Семантического слоя dbt (поддерживаемого MetricFlow). Повторно используйте их на различных аналитических платформах, уменьшая избыточность и ошибки.
    • Используйте API Семантического слоя dbt для запроса метрик в инструментах ниже по потоку для получения согласованных, надежных метрик данных.
    • Подключайтесь к нескольким приложениям данных, от инструментов бизнес-аналитики до блокнотов, электронных таблиц, каталогов данных и многого другого, чтобы запрашивать ваши метрики. Доступные интеграции включают Tableau, Google Sheets, Hex и другие.
    • Используйте экспорты для записи часто используемых запросов непосредственно в вашу платформу данных по расписанию.

    Предостережения

    • Семантический слой dbt в настоящее время поддерживает среду развертывания для выполнения запросов. Опыт выполнения запросов в среде разработки скоро появится.
    • Запускайте команды запросов/семантического слоя в dbt Cloud CLI, однако выполнение команд запросов/семантического слоя в dbt Cloud IDE пока не поддерживается.
    • Семантический слой dbt пока не поддерживает SSH-туннелирование для подключений Postgres или Redshift. Он также не поддерживает использование Единого входа (SSO) для производственных учетных данных Семантического слоя, однако SSO поддерживается для учетных записей пользователей разработки.

    Обратитесь к Часто задаваемым вопросам о Семантическом слое dbt для получения дополнительной информации.

    dbt Explorer

    dbt Explorer улучшает вашу способность обнаруживать, понимать и устранять неполадки ваших активов данных через богатые метаданные и визуализацию родословной. Вот некоторые советы и предостережения, которые стоит учитывать при использовании dbt Explorer:

    Советы

    • Используйте возможности поиска и фильтрации в dbt Explorer, чтобы быстро находить модели, источники и тесты, упрощая ваш рабочий процесс.
    • Просматривайте все различные проекты и общедоступные модели в аккаунте, где определены общедоступные модели, и как они используются, чтобы лучше понять ваши ресурсы между проектами.
    • Используйте функцию Линзы, которая представляет собой слои, похожие на карты, для вашего DAG, доступные из графа родословной вашего проекта. Линзы помогают вам лучше понять контекстные метаданные вашего проекта в масштабе, особенно для различения конкретной модели или подмножества моделей.
    • Получите доступ к родословной на уровне столбцов (CLL) для ресурсов в вашем проекте dbt. enterprise

    Предостережения

    • Должен быть хотя бы один успешный запуск задания в производственной среде развертывания, чтобы Explorer мог заполнить информацию.

    Ознакомьтесь с функциями dbt Explorer, чтобы полностью использовать его возможности и избежать упущенных возможностей для повышения эффективности.

    Обратитесь к Часто задаваемым вопросам о dbt Explorer для получения дополнительной информации.

    Что дальше?

    Поздравляем с завершением руководства 🎉!

    Мы надеемся, что вы получили полезные инсайты и советы, которые помогут вам в вашем переходе. Важно отметить, что переход с dbt Core на dbt Cloud — это не просто эволюция ваших проектов данных, это исследование новых уровней сотрудничества, управления, эффективности и инноваций в вашей команде.

    Для следующих шагов продолжайте изучать нашу серию из трех частей о переходе с dbt Core на dbt Cloud:

    Руководство
    Информация
    Аудитория
    Переход с dbt Core на dbt Cloud: Что нужно знатьПоймите, какие аспекты и методы нужно учитывать при переходе с dbt Core на dbt Cloud.Руководители команд
    Администраторы
    Переход с dbt Core на dbt Cloud: Начало работыУзнайте, какие шаги необходимы для перехода с dbt Core на dbt Cloud.Разработчики
    Инженеры данных
    Аналитики данных
    Переход с dbt Core на dbt Cloud: Советы по оптимизацииУзнайте, как оптимизировать работу с dbt Cloud с помощью распространенных сценариев и полезных советов.Все

    Почему стоит перейти на dbt Cloud?

    Если ваша команда сегодня использует dbt Core, вы можете читать это руководство по следующим причинам:

    • Вы осознали, насколько сложно поддерживать это развертывание.
    • Человек, который его настроил, уже ушел.
    • Вы заинтересованы в том, что dbt Cloud может предложить для лучшего управления сложностью вашего развертывания dbt, демократизации доступа для большего числа участников или улучшения практик безопасности и управления.

    Переход с dbt Core на dbt Cloud упрощает рабочие процессы, предоставляя полностью управляемую среду, которая улучшает сотрудничество, безопасность и оркестрацию. С dbt Cloud вы получаете доступ к таким функциям, как межкомандное сотрудничество (dbt Mesh), управление версиями, упрощенный CI/CD, dbt Explorer для получения всесторонних инсайтов и многое другое — что облегчает управление сложными развертываниями dbt и эффективное масштабирование ваших рабочих процессов с данными.

    Это идеальный выбор для команд, стремящихся снизить нагрузку на поддержку собственной инфраструктуры, одновременно улучшая управление и продуктивность.

    Ресурсы

    Если вам нужна дополнительная помощь или у вас есть вопросы, используйте следующие ресурсы:

    Для индивидуальной помощи вы можете использовать следующие ресурсы:

    0