Что такое dbt?
dbt — это инструмент для организации процесса преобразования данных, который п омогает выполнять больше работы и получать более качественные результаты. Вы можете использовать dbt для модульного и централизованного управления вашим аналитическим кодом, предоставляя вашей команде по работе с данными ограничения, обычно встречающиеся в рабочих процессах разработки программного обеспечения. Сотрудничайте над моделями данных, управляйте их версиями, тестируйте и документируйте ваши запросы перед безопасным развертыванием их в производственной среде, с мониторингом и видимостью.
dbt компилирует и выполняет ваш аналитический код на вашей платформе данных, позволяя вам и вашей команде совместно работать над единственным источником правды для метрик, инсайтов и бизнес-определений. Этот единый источник правды, в сочетании с возможностью определять тесты для ваших данных, снижает количество ошибок при изменении логики и предупреждает вас, когда возникают проблемы.
Узнайте больше о том, почему мы хотим, чтобы аналитики работали больше как инженеры-программисты, в The dbt Viewpoint. Узнайте, как другие специалисты по данным по всему миру используют dbt, присоединившись к сообществу dbt.
Продукты dbt
Используйте dbt для быстрого и совместного преобразования данных и развертывания аналитического кода, следуя лучшим практикам инженерии программного обеспечения, таким как контроль версий, модульность, портативность, CI/CD и документация. Это означает, что любой член команды по работе с данными, который комфортно работает с SQL, может безопасно вносить вклад в производственные конвейеры данных.
dbt Cloud
dbt Cloud предлагает самый быстрый, надежный и масштабируемый способ развертывания dbt. Это позволяет командам по работе с данными оптимизировать их преобразование данных, разрабатывая, тестируя, планируя и исследуя модели данных с помощью единого, полностью управляемого сервиса через веб-интерфейс (UI).
Вы можете узнать о планах и ценах на www.getdbt.com
Узнайте больше о функциях dbt Cloud и попробуйте один из быстрых стартов dbt Cloud.
dbt Core
dbt Core — это инструмент с открытым исходным кодом, который позволяет специалистам по данным преобразовывать данные и подходит для пользователей, предпочитающих вручную настраивать и локально поддерживать dbt. Вы можете установить dbt Core через командную строку. Узнайте больше с быстрым стартом для dbt Core.
Для получения дополнительной информации о dbt Cloud и dbt Core, обратитесь к Сравнению dbt Cloud и dbt Core.
dbt оптимизирует ваш рабочий процесс
- Избегайте написания шаблонного и , управляя транзакциями, удалением таблиц и изменениями схемы. Пишите бизнес-логику с помощью всего лишь SQL
select
запроса или Python DataFrame, который возвращает нужный вам набор данных, и dbt позаботится о . - Создавайте повторно используемые или модульные модели данных, которые могут быть использованы в последующей работе, вместо того чтобы начинать с необработанных данных при каждом анализе.
- Значительно сократите время выполнения ваших запросов: используйте метаданные для поиска долго выполняющихся моделей, которые вы хотите оптимизировать, и используйте инкрементные модели, которые dbt делает простыми в настройке и использовании.
- Пишите более код, используя макросы, хуки и управление пакетами.
dbt обеспечивает более надежный анализ
- Больше не нужно копировать и вставлять SQL, что может привести к ошибкам при изменении логики. Вместо этого создавайте повторно используемые модели данных, которые будут использоваться в последующих моделях и анализах. Измените модель один раз, и это изменение распространится на все ее зависимости.
- Публикуйте каноническую версию конкретной модели данных, инкапсулируя всю сложную бизнес-логику. Весь анализ на основе этой модели будет включать ту же бизнес-логику без необходимости ее повторной реализации.
- Используйте зрелые процессы контроля версий, такие как ветвление, запросы на слияние и обзоры кода.
- Быстро и легко пишите тесты качества данных на основе данных. Многие аналитические ошибки вызваны крайними случаями в данных: тестирование помогает аналитикам находить и обрабатывать эти крайние случаи.
Сила dbt
Как пользователь dbt, ваше основное внимание будет сосредоточено на написании моделей (select-запросов), которые отражают основную бизнес-логику — нет необходимости писать шаблонный код для создания таблиц и представлений или определять порядок выполнения ваших моделей. Вместо этого dbt сам превращает эти модели в объекты в вашем хранилище.
Функция | Описание |
---|---|
Управление шаблонным кодом для материализации запросов как отношений | Для каждой модели, которую вы создаете, вы можете легко настроить материализацию. Материализация представляет собой стратегию сборки для вашего select-запроса — код за материализацией является надежным, шаблонным SQL, который оборачивает ваш select-запрос в оператор для создания нового или обновления существующего отношения. Узнайте больше о Материализациях. |
Использование компилятора кода | SQL-файлы могут содержать Jinja, легкий язык шаблонов. Использование Jinja в SQL предоставляет способ использовать управляющие структуры в ваших запросах. Например, операторы if и циклы for . Это также позволяет делиться повторяющимся SQL через macros . Узнайте больше о Макросах. |
Определение порядка выполнения моделей | Часто при преобразовании данных имеет смысл делать это поэтапно. dbt предоставляет механизм для реализации преобразований поэтапно через функцию ref. Вместо выбора из существующих таблиц и представлений в вашем хранилище, вы можете выбрать из другой модели. |
Документирование вашего проекта dbt | В dbt Cloud вы можете автоматически генерировать документацию, когда ваш проект dbt выполняется. dbt предоставляет механизм для написания, контроля версий и обмена документацией для ваших моделей dbt. Вы можете писать описания (в виде простого текста или markdown) для каждой модели и поля. Узнайте больше о Документации. |
Тестирование ваших моделей | Тесты предоставляют способ улучшить целостность SQL в каждой модели, делая утверждения о результатах, сгенерированных моделью. Создавайте, тестируйте и запускайте ваш проект нажатием кнопки или с помощью командной панели dbt Cloud IDE. Узнайте больше о написании тестов для ваших моделей Тестирование |
Управление пакетами | dbt поставляется с менеджером пакетов, который позволяет аналитикам использовать и публиковать как публичные, так и частные репозитории кода dbt, которые затем могут быть использованы другими. Узнайте больше о Управлении пакетами. |
Загрузка файлов семян | Часто в аналитике необработанные значения нужно сопоставить с более читаемыми значениями (например, преобразование кода страны в название страны) или обогатить статическими или редко изменяющимися данными. Эти источники данных, известные как файлы семян, могут быть сохранены в виде CSV-файла в вашем проекте и загружены в ваше хранилище данных с помощью команды seed . Узнайте больше о Семянах. |
Снимок данных | Часто записи в источнике данных изменяемы, то есть они меняются со временем. Это может быть сложно обработать в аналитике, если вы хотите восстановить исторические значения. dbt предоставляет механизм для создания снимков необработанных данных на определенный момент времени с помощью снимков. |