ddadmin
|
d7588a8caa
|
chore: добавлен полноценный .gitignore для ETL-проекта
- Python: __pycache__, *.pyc, venv
- Docker: .env.local, volumes (clickhouse-data/, kafka-data/)
- Airflow: logs/, *.pid, airflow.db
- ClickHouse: логи сервера
- Kafka/Zookeeper: logs/, data dirs
- Superset: локальные БД
- IDE: VS Code (partial), PyCharm
- Секреты: *.pem, *.key, secrets/
- OS: .DS_Store, Thumbs.db
- Данные: *.csv.gz, *.parquet, архивы
|
2026-02-08 18:48:20 +03:00 |
|
ddadmin
|
10f5bc3510
|
feat(airflow): реализован DAG kafka_load для загрузки в Kafka (фаза 2)
- Добавлен kafka-python==2.0.6 в airflow/requirements.txt
- Создан dags/utils/kafka_helpers.py с функциями:
- check_kafka_ready() — проверка доступности брокера
- prepare_topics() — создание/сброс топиков через KafkaAdminClient
- load_jsonl() — загрузка данных через KafkaProducer (limit=0 = все)
- validate_load_params(), check_input_files() — валидация
- Создан dags/kafka_load_dag.py с TaskGroup:
- precheck: check_kafka, check_input_files, validate_load_params
- ingest: prepare_topics, параллельная загрузка 4 потоков, verify_publish_counts
- Параметры DAG: limit (0 = все), reset_topics, load_* (выбор потоков)
- Обновлена документация: AGENTS.md, README.md, plans/runbook.md,
plans/airflow_dags_plan.md, docs/ARCHITECTURE.md
Тестирование:
- Подключение к Kafka: ✅ (kafka:29092 доступен, брокер 2.6.0)
- Загрузка данных: ✅ (1000 сообщений — полный файл browser_events)
- Python синтаксис: ✅ (py_compile проходит)
- Структура DAG: ✅ (все 9 задач корректно определены)
|
2026-02-08 18:13:22 +03:00 |
|