I. скопировать репозиторий
git clone https://github.com/Sasha-Mikhailov/base_airflow.git
cd base_airflow
II. указать коннект для внутренней базу для Airflow: оставить стандартную (из докер-контейнера рядом) или указать conn_string для своей. Указывается в docker-compose.yaml
III. Запустить «ансамбль» докер-контейнеров, подождать запуска (и инициилизации, если первый запуск):
docker-compose up
IV. Должен заработать webserver для Airflow. Зайти на http://localhost:8080 с логином-паролем airflow
V. запустить DAG'и
:
- get_current_rate — регулярный запуск, запрашивающий текущий курс
- get_historical_rates - исторический пересчёт за конкретный период
Регулярный запуск запрашивает текущий курс и пишет результат в базу.
Исторический пересчёт принимает на вход параметры через Airflow Variables:
- дату начала перода
- окончание периода
- код валюты из
- код валюты в
при записи данных в базу предварительно удаляет строки за тот же период (в целях идемпотентности).
Проверить данные в базе — подключиться по коннектам, указанным в п. II.
Метаданные для таблицы храняться тут же в коде dags/common/meta.py. При первом запуске проверяёт наличие таблицы и создаёт, если не находит такой