Проект курса Data Enginner в Яндекс.Практикум, выполняемый в формате однодневного хакатона.
Во всех системах используются креды: de_user / de_pass , кроме metabase (там при первом старте)
Запуск инфрастуктуры
docker-compose up -d
Для разработки dbt должен быть установлен локально. Контейнер dbt
в настоящий момент используется только для генерации документации.
Рекомендуется использовать python3.9
или сделать venv
.
Установить dbt и активировать.
cd dbt
python3.9 -m venv venv
source venv/bin/activate
pip install dbt-postgres
dbt
Настроить профиль соединения DBT в файле ~/.dbt/profiles.yml
.
prj:
outputs:
dev:
type: postgres
threads: 2
host: localhost
port: 5432
user: de_user
pass: de_pass
dbname: de
schema: stg
target: dev
Проверить соединение
dbt parse
Построение и обновление хранилища
dbt run
Обновление отдельной модели
dbt run --select full_model__with_sufix
Обновление всего хранилищая кроме модели
dbt run --exclude full_model__with_sufix
Для отладки удобно использовать
dbt compile
После этого в target будут скопбилиированы применяемый SQL скрипты.
cd dbt
dbt docs generate
Запускается по адресу http://localhost:9090
Разрабатываем DAG в ./airflow/dags
Разрабатываем DWH в виде SQL (select выражений) в ./dbt/project