/de-pro4

Проект курса Data Enginner в Яндекс.Практикум, выполняемый в формате однодневного хакатона.

Primary LanguageShellApache License 2.0Apache-2.0

de-pro4

Проект курса Data Enginner в Яндекс.Практикум, выполняемый в формате однодневного хакатона.

Во всех системах используются креды: de_user / de_pass , кроме metabase (там при первом старте)

Запуск инфрастуктуры

docker-compose up -d

Архитектура

./DEproject.png

Установка и настройка DBT

Для разработки 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

Airflow

Разрабатываем DAG в ./airflow/dags

DBT

Разрабатываем DWH в виде SQL (select выражений) в ./dbt/project

Инициалиазция