Skip to content

AlexanderKuryatnikov/KorusAirflowProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Korus Airflow Project

Описание

Проект написан на Airflow. Оркестрируется процесс загрузки и обработки данных двумя ДАГами:

  1. etl_from_sources_to_internship
    Загружает данные из БД internship_sources, переносит и обработывает данные в БД internship_6_db в три слоя: stg, dds, invalid_data. После наполнения слоя dds запускается ДАГ form_datamarts.
  2. form_datamarts
    Перезаписывает витрины. Витрины визуализированы с помощью Grafana.

Как запустить

  1. Установить Docker и Docker Compose
  2. Клонировать репозиторий и перейти в директорию:
git clone [email protected]:AlexanderKuryatnikov/KorusAirflowProject.git
cd KorusAirflowProject
  1. Создать файл окружения .env и в нём указать:
    • AIRFLOW_UID=50000
    • _AIRFLOW_WWW_USER_USERNAME=логин (по умолчанию airflow)
    • _AIRFLOW_WWW_USER_PASSWORD=пароль (по умолчанию airflow)
  2. Если отсутствуют, создать директории config, dags, plugins:
mkdir config dags plugins
  1. Перед первым запуском выполнить миграцию бащы данных и создать первую учётную запись пользователя:
docker-compose up airflow-init
  1. Запустить
docker-compose up
  1. Открыть вебсервер по адресу http://localhost:8080
  2. Настроить в UI подключение к базам данных (Admin > Connections > Add a new record):
    1. internship_sources
      • Connection Id: db_source
      • Connection Type: Postgres
      • Host: 10.1.108.29
      • Schema: internship_sources
      • Login: interns_6
      • Port: 5432
    2. internship_6_db
      • Connection Id: db_internship
      • Connection Type: Postgres
      • Host: 10.1.108.29
      • Schema: internship_6_db
      • Login: interns_6
      • Port: 5432
  3. Запустить ДАГи
  4. Открыть UI визуализации по адресу http://localhost:3000 (логин/пароль по умолчанию admin/admin)
  5. Настроить подключение к базе данных (Home > Connections > Add new connection > PostgreSQL):
    • Name: internship_db
    • Host: 10.1.108.29:5432
    • Database: internship_6_db
    • User: interns_6
    • TLS/SSL Mode: disable
    • Version: 12
  6. Импортировать дашборды из KorusAirflowProject/grafana_storage/dashboards, указать internship_db как источних данных

Разработчик

Александр Курятников

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages