- Зачем:
- необходимо зафиксировать структуру второго модуля «Ментальная модель Lakehouse» и подготовить инфраструктуру для инспекции компонентов.
- Что:
- создан файл plans/module-02-lakehouse-mental-model.md с детальным планом работ, целями и чекпоинтом.
- в jupyter/Dockerfile добавлены библиотеки boto3 и psycopg2-binary для программного доступа к MinIO и PostgreSQL из ноутбуков.
- модуль 2 добавлен в общий индекс планов в plans/README.md.
- Проверка:
- файл плана соответствует методике курса, в Dockerfile запинены версии библиотек.
- Зачем:
- нужен воспроизводимый вход в курс и единое место хранения планов по модулям.
- Что:
- добавлены `plans/README.md`, living plan Модуля 1, `START_HERE.md` и канонический ноутбук `01_environment_and_smoke_test.ipynb`, а `cluster_smoke.py` расширен до reusable helper и CLI smoke test.
- уточнены onboarding-материалы и окружение: добавлены Spark UI в `README.md`, ресурсы хоста и креды MinIO в `START_HERE.md`, использован `NB_GID` в `jupyter/Dockerfile`, в ноутбуке усилены самостоятельные задания и добавлены `cell id`, а пояснения в `cluster_smoke.py` переведены на русский для студентов.
- обновлены `README.md`, `AGENTS.md` и archive howto, удалены устаревшие `spark-basic-test.ipynb` и `03_partitioning_and_schema_evolution.ipynb`.
- Проверка:
- `python3 -m py_compile src/spark/cluster_smoke.py src/spark/__init__.py`.
- `docker compose build spark-master` и `docker compose build jupyter`.
- `docker compose up -d`, `docker compose exec jupyter python3 -c "from spark.cluster_smoke import create_spark_session, run_cluster_smoke; spark=create_spark_session(app_name='module-01-validation'); print(run_cluster_smoke(spark)); spark.stop()"` и `docker compose exec jupyter jupyter nbconvert --to notebook --execute /opt/work/01_environment_and_smoke_test.ipynb --output-dir /tmp --output module1-validation-2.ipynb`.