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

Что такое dbt?

dbt — отраслевой стандарт для преобразования данных. Узнайте, как он помогает преобразовывать данные и разворачивать аналитический код, следуя best practices software engineering, таким как контроль версий, модульность, переносимость, CI/CD и документация.

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

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

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

Узнайте больше о том, почему мы хотим, чтобы аналитики работали больше как инженеры-программисты, в The dbt Viewpoint. Узнайте, как другие специалисты по данным по всему миру используют dbt, присоединившись к сообществу dbt.

dbt

Используйте dbt, чтобы быстро и совместно трансформировать данные и развертывать аналитический код, следуя лучшим практикам программной инженерии — таким как контроль версий, модульность, переносимость, CI/CD и документация. Это означает, что любой участник команды данных, уверенно работающий с SQL, может безопасно вносить вклад в промышленные (production‑grade) конвейеры данных.

Платформа dbt (dbt Cloud)

dbt platform предоставляет самый быстрый, надежный и масштабируемый способ развертывания dbt. Она позволяет командам данных оптимизировать процессы трансформации данных за счет разработки, тестирования, планирования и анализа моделей данных в рамках единого, полностью управляемого сервиса с веб‑интерфейсом (UI).

Вы можете узнать о планах и ценах на www.getdbt.com. Узнайте больше о dbt platform возможностях и попробуйте один из dbt быстрых стартов.

Движок dbt Fusion

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

Дополнительную информацию см. на страницах о dbt Fusion Engine, поддерживаемые возможности и инструкции по установке.

dbt Core

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

dbt оптимизирует ваш рабочий процесс

  • Избегайте написания шаблонного DML и DDL, управляя транзакциями, удалением таблиц и изменениями схемы. Пишите бизнес-логику с помощью всего лишь SQL select запроса или Python DataFrame, который возвращает нужный вам набор данных, и dbt позаботится о materialization.
  • Создавайте повторно используемые или модульные модели данных, которые могут быть использованы в последующей работе, вместо того чтобы начинать с необработанных данных при каждом анализе.
  • Значительно сократите время выполнения ваших запросов: используйте метаданные для поиска долго выполняющихся моделей, которые вы хотите оптимизировать, и используйте инкрементные модели, которые dbt делает простыми в настройке и использовании.
  • Пишите более DRY код, используя макросы, хуки и управление пакетами.

dbt обеспечивает более надежный анализ

  • Больше не нужно копировать и вставлять SQL, что может привести к ошибкам при изменении логики. Вместо этого создавайте повторно используемые модели данных, которые будут использоваться в последующих моделях и анализах. Измените модель один раз, и это изменение распространится на все ее зависимости.
  • Публикуйте каноническую версию конкретной модели данных, инкапсулируя всю сложную бизнес-логику. Весь анализ на основе этой модели будет включать ту же бизнес-логику без необходимости ее повторной реализации.
  • Используйте зрелые процессы контроля версий, такие как ветвление, запросы на слияние и обзоры кода.
  • Быстро и легко пишите тесты качества данных на основе данных. Многие аналитические ошибки вызваны крайними случаями в данных: тестирование помогает аналитикам находить и обрабатывать эти крайние случаи.

Сила dbt

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

ФункцияОписание
Обрабатывать шаблонный код для материализации запросов в виде отношенийДля каждой создаваемой модели вы можете легко настроить materialization (материализацию). Материализация представляет собой стратегию сборки для вашего select-запроса — код материализации это надёжный, типовой SQL, который оборачивает ваш select-запрос в выражение для создания нового или обновления существующего отношения. Подробнее см. Materializations.
Использовать компилятор кодаSQL-файлы могут содержать Jinja — лёгкий язык шаблонов. Использование Jinja в SQL позволяет применять управляющие конструкции в запросах, например if и циклы for. Также это даёт возможность выносить повторяющийся SQL в общие macros. Подробнее см. Macros.
Определять порядок выполнения моделейПри трансформации данных часто имеет смысл выполнять её поэтапно. dbt предоставляет механизм для реализации поэтапных преобразований с помощью функции ref. Вместо выборки из существующих таблиц и представлений в хранилище вы можете выбирать данные из другой модели.
Документировать dbt-проектВ dbt platform вы можете автоматически генерировать документацию при запуске dbt‑проекта. dbt предоставляет механизм для написания, версионирования и распространения документации для ваших dbt‑моделей. Вы можете добавлять описания (в виде обычного текста или markdown) для каждой модели и каждого поля. Подробнее см. Documentation.
Тестировать моделиТесты позволяют повысить надёжность SQL в каждой модели, формулируя проверки (assertions) к результатам, которые генерирует модель. Собирайте, тестируйте и запускайте проект одним нажатием кнопки или с помощью командной строки Studio IDE. Подробнее о написании тестов для моделей см. Testing.
Управлять пакетамиdbt поставляется с менеджером пакетов, который позволяет аналитикам использовать и публиковать как публичные, так и приватные репозитории с dbt‑кодом, на которые затем могут ссылаться другие. Подробнее см. Package Management.
Загружать seed-файлыВ аналитике часто требуется сопоставлять «сырые» значения с более читаемыми (например, преобразовывать код страны в название страны) или обогащать данные статической либо редко изменяющейся информацией. Такие источники данных, называемые seed‑файлами, можно сохранить в виде CSV‑файлов в вашем project и загрузить в хранилище данных с помощью команды seed. Подробнее см. Seeds.
Делать снимки данныхЧасто записи в источниках данных являются изменяемыми и со временем меняются. Это может усложнять аналитику, если требуется восстанавливать исторические значения. dbt предоставляет механизм для сохранения снимков исходных данных на определённый момент времени с помощью snapshots.
Loading table...

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

0
Loading