refactor(manual): упрощение архитектуры учебного пайплайна и документации
- Зачем: - сделать примеры более доступными для начинающих, убрав лишнюю архитектурную сложность (хелперы, внешние SQL файлы). - сфокусировать обучение на самом Airflow, а не на структуре Python-проекта. - Что: - консолидирована логика: DDL и вспомогательные функции перенесены из helpers/ и sql/ напрямую в csv_to_postgres.py и csv_to_postgres_dq.py. - удалена избыточная инфраструктура: папки sql/, tests/, helpers/ и файл requirements.txt больше не содержат специфичных для этого пайплайна файлов. - упрощена работа с БД: использование PostgresHook напрямую в задачах вместо кастомных оберток. - исправлен порт PostgreSQL для метаданных Airflow (5433 → 5434) в README.md и educational-setup-plan.md. - изменен путь генерации CSV на /opt/airflow/data/output в csv_to_postgres.py. - добавлен шаблон data/*.csv в .gitignore. - обновлен комментарий в sql_basic_dag.py о создании соединения. - исправлено описание практического задания в educational-tasks.md. - добавлены переводы строк в конце файлов csv_to_postgres.py и educational-setup-plan.md. - Проверка: - запуск DAG-ов csv_to_postgres и csv_to_postgres_dq в Airflow UI.
This commit is contained in:
@@ -148,7 +148,7 @@
|
||||
**Время выполнения:** 20-25 минут
|
||||
|
||||
**Задача:**
|
||||
- Перепишите задачу `create_orders_table`. Сейчас она использует `PythonOperator` и прямое подключение через `psycopg2`.
|
||||
- Перепишите задачу `create_orders_table`. Сейчас она использует `PythonOperator` и `PostgresHook` внутри Python-функции.
|
||||
- Замените её на использование стандартного `PostgresOperator`, используя заранее созданный Connection.
|
||||
- Убедитесь, что пайплайн продолжает работать корректно.
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
**Время выполнения:** 20-25 минут
|
||||
|
||||
**Задача:**
|
||||
- Добавьте новую функцию проверки в `helpers/postgres.py`, которая будет убеждаться, что все значения в колонке `amount` строго больше нуля.
|
||||
- Добавьте новую функцию проверки прямо в `csv_to_postgres_dq.py`, которая будет убеждаться, что все значения в колонке `amount` строго больше нуля.
|
||||
- Добавьте вызов этой функции как новую задачу в DAG `csv_to_postgres_dq`.
|
||||
- Встройте новую задачу в общую цепочку выполнения (например, перед `dq_summary`).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user