Этот репозиторий содержит ETL-процесс, разработанный с использованием Apache Airflow, для расчета флагов активности клиентов на основе данных о транзакциях. Процесс включает извлечение данных из CSV-файла, их преобразование с помощью пользовательского скрипта и загрузку результатов в другой CSV-файл.
- Ежемесячный запуск ETL-процесса 5-го числа каждого месяца.
- Параллельная обработка для различных категорий продуктов.
- Настройка с использованием Docker Compose для простого развертывания.
- Лицензия MIT.
dags/
dag_etl.py
: Основной DAG для ETL-процесса.dag_etl_parallel.py
: DAG для параллельной обработки категорий продуктов.transform_script.py
: Скрипт, содержащий логику преобразования.profit_table.csv
: Входной файл данных с информацией о транзакциях.flags_activity.csv
: Выходной файл с рассчитанными флагами активности.
docker-compose.yml
: Конфигурация Docker Compose..gitignore
: Файл игнорирования Git.LICENSE
: Лицензия MIT.README.md
: Документация проекта.
-
Клонируйте репозиторий:
git clone https://github.com/muzykantov/airflow-etl-pipeline.git cd airflow-etl-pipeline
-
Убедитесь, что Docker и Docker Compose установлены на вашем компьютере.
-
Запустите миграцию базы данных:
compose run webserver airflow db migrate
-
Запустите скрипт создания пользователя, отредактировав пример в файле
add_user.sh
:chmod +x add_user.sh && ./add_user.sh
-
Запустите сервисы Airflow:
docker-compose up -d
-
Поместите ваш входной файл данных (
profit_table.csv
) в директориюdags/
. -
Откройте веб-интерфейс Airflow по адресу
http://localhost:8080
и запустите DAG вручную или дождитесь запланированного запуска.
Этот проект лицензирован по лицензии MIT. См. файл LICENSE для подробностей.
Если у вас есть улучшения или предложения, не стесняйтесь открывать issues или создавать pull requests.
По любым вопросам обращайтесь к Геннадию Музыкантову по адресу [[email protected]].