- Зачем: - зафиксировать новые приоритеты по тестированию ETL и стабильности источника. - Что: - добавлены два новых пункта в backlog мейнтейнеров в TODO.md. - уточнён статус файла, чтобы он отражал наличие открытых задач. - Проверка: - git diff --cached -- TODO.md.
4.8 KiB
TODO (maintainers / mentors)
Этот файл собирает идеи по доработке стенда, которые не критичны для текущих задач менти, но улучшат стабильность и удобство сопровождения.
Статус: ниже есть как актуальные, так и уже выполненные пункты.
-
Сделать REST API Airflow основным способом тестирования ETL вместо CLI-вызовов через
docker compose exec ... airflow ...:- обновить
TESTING.md, сместив фокус на REST API сценарии; - оставить CLI как резервный вариант для локальной отладки;
- проверить, что шаги тестирования воспроизводимы без входа в контейнер Airflow.
- обновить
-
Протестировать устойчивость
bookings-dbпосле остановки контейнеров:- прогнать сценарии
make stop->make upиmake down->make up; - зафиксировать, ломается ли генератор/данные в
bookings-db; - при необходимости добавить шаги восстановления и обновить документацию.
- прогнать сценарии
-
Собрать свой образ Airflow поверх
apache/airflow:2.9.2:- вынести установку Python‑зависимостей из runtime (
pip install ...при старте контейнеров) в отдельныйDockerfile; - переключить
docker-compose.ymlна использование этого образа дляairflow-webserver,airflow-schedulerиairflow-init; - обновить документацию (README/TESTING) под новую схему сборки.
- вынести установку Python‑зависимостей из runtime (
-
Переключить Airflow с
SequentialExecutor(SequentialScheduler) наLocalExecutorдля docker‑стенда:- проверить, какие параметры достаточно поменять в env/конфиге (
AIRFLOW__CORE__EXECUTOR) для образаapache/airflow:2.9.2; - убедиться, что примерные DAG’и (
csv_to_greenplum,bookings_to_gp_stage) ведут себя предсказуемо в режиме параллельного исполнения; - при необходимости скорректировать тесты и документацию (README/TESTING) с учётом нового executor’а.
- проверить, какие параметры достаточно поменять в env/конфиге (
-
Разобрать и стабилизировать интеграцию с Greenplum/PXF:
- убедиться, что PXF в контейнере
greenplumвсегда корректно инициализируется (нет ошибок видаprotocol "pxf" does not existпри первом запускеmake ddl-gp); - при необходимости доработать init‑скрипты в
pxf/init/и/или документацию, чтобы порядок действий для ментей был однозначным и воспроизводимым; - добавить краткий раздел в README/TESTING о типичных ошибках PXF/Greenplum и шагах по их устранению.
- диагностика текущего кейса:
docs/internal/pxf_bookings.md(раздел «Известная проблема»).
- убедиться, что PXF в контейнере
-
Разобраться с генератором demodb:
- после
make bookings-initтаблицаbookings.bookingsостаётся пустой; - патчи
bookings/patches/engine_jobs1_sync.patchиbookings/patches/install_drop_if_exists.patchпадают при применении (hunk failed / garbage in patch); - из‑за этого DAG
bookings_to_gp_stageвалится на проверках (источник пустой). - план:
plans/bookings-demodb-bugfix-plan.md
- после
-
Добавить раздел «Благодарности» в
README.md:- явно поблагодарить Postgres Pro за демо‑БД bookings (репозиторий
postgrespro/demodb); - указать автора Docker‑сборки Greenplum (
woblerr/docker-greenplum, образwoblerr/greenplum); - при необходимости сослаться на соответствующие лицензии/README исходных проектов.
- явно поблагодарить Postgres Pro за демо‑БД bookings (репозиторий
-
Добавить в образ Airflow установку
psql, чтобы тестировать загрузку CSV из CLI внутри контейнера (без root и дополнительных зависимостей на хосте).