Раздел 26 · Data Engineering

dbt Core против dbt Cloud и установка

junior~15 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Ручная цепочка представлений из прошлого урока развалилась от первой правки. Пора ставить dbt. Отто спрашивает простое: «Это платно? И где оно будет работать?». Ответ зависит от того, какой dbt выбрать: их два, и они устроены по-разному.

Двигатель и машина

Можно купить двигатель и собрать вокруг него машину самому: раму, кресла, приборную панель. Это дёшево и гибко, но всё обслуживаешь ты. А можно купить готовую машину с тем же двигателем внутри, с сервисом, навигатором и гарантией. Ездит она так же, но за удобство платишь каждый месяц.

dbt Core это двигатель. dbt Cloud это машина вокруг него.

dbt Core

dbt Core это программа на Python с открытым кодом. Её ставят на свой компьютер или сервер и запускают из терминала:

python -m venv .venv
source .venv/bin/activate
pip install dbt-core dbt-postgres

В последней строке два пакета, и второй здесь главный. Сам dbt не умеет разговаривать с базами: для каждой нужен адаптер. Хранилище «Гонца» это PostgreSQL, поэтому ставим dbt-postgres. Для Snowflake был бы dbt-snowflake, для BigQuery dbt-bigquery, для ClickHouse dbt-clickhouse.

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

Плюсы Core: бесплатно, работает где угодно, всё под твоим контролем. Минусы: расписание, хранение документации и проверки пулл-реквестов ты настраиваешь сам. В блоке про Airflow ты уже умеешь запускать что угодно по расписанию, так что для «Гонца» это не страшно.

урок из курса

Урок из курса «Data Engineering». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.