- Зачем:
- необходимо отразить в документации новый пайплайн загрузки CSV в PostgreSQL.
- студентам нужны конкретные задания для закрепления навыков ETL и Data Quality.
- Что:
- обновлен README.md: добавлено описание новых DAG-ов, папок sql/ и tests/, актуализирован путь обучения.
- обновлен educational-tasks.md: добавлены 4 новых задания (ETL, PostgresOperator, DQ проверки, Trigger Rules) и обновлен блок оценки прогресса.
- Проверка:
- визуальная проверка файлов README.md и educational-tasks.md в репозитории.
- Зачем:
- исключение локального виртуального окружения из git
- Что:
- добавлена запись venv/ в .gitignore
- Проверка:
- git status не должен показывать папку venv/
- Зачем:
- отражение изменений после миграции с Greenplum на PostgreSQL
- добавление описания новых DAG-ов для обучения
- Что:
- удалено устаревшее упоминание Greenplum в educational-setup-plan.md
- добавлено описание csv_to_postgres.py в educational-setup-plan.md
- добавлено описание csv_to_postgres.py и csv_to_postgres_dq.py в dag-specifications.md
- обновлена нумерация DAG-ов в dag-specifications.md
- Проверка:
- просмотр файлов dag-specifications.md и educational-setup-plan.md
- Зачем:
- адаптация пайплайна для работы с чистым PostgreSQL вместо Greenplum
- обеспечение совместимости с учебным стендом на базе Docker Compose
- Что:
- переименованы файлы (greenplum -> postgres)
- обновлены DAG-файлы: замена get_gp_conn на get_postgres_conn, адаптация DDL под PostgreSQL
- обновлён helpers/postgres.py: замена функций и переменных окружения
- добавлен pytest в requirements.txt для запуска тестов
- создан tests/conftest.py с функцией patch_postgres_hook
- обновлён tests/test_postgres_helpers.py: исправлены импорты
- добавлено монтирование папки tests в docker-compose.yml
- адаптирован sql/base/orders_ddl.sql под PostgreSQL
- Проверка:
- docker-compose exec airflow-webserver pytest /opt/airflow/tests/test_postgres_helpers.py
- Зачем:
- Необходим пример загрузки данных из CSV в Greenplum через Airflow
- Добавлены проверки качества данных для валидации загруженных данных
- Что:
- создан DAG csv_to_greenplum для генерации и загрузки CSV в таблицу orders
- создан DAG csv_to_greenplum_dq для проверок качества данных
- создан DAG ddl_greenplum_base для применения DDL таблицы orders
- добавлен модуль helpers/greenplum с функциями подключения и валидации
- добавлен SQL-скрипт sql/base/orders_ddl.sql для создания таблицы
- добавлены unit-тесты test_greenplum_helpers.py
- Проверка:
- запуск DAG csv_to_greenplum в Airflow UI
- запуск тестов pytest tests/test_greenplum_helpers.py