feat(module-1): доработаны материалы модуля 1 и удалён legacy-ноутбук

- Зачем:
  - нужен воспроизводимый вход в курс и единое место хранения планов по модулям.
- Что:
  - добавлены `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`.
This commit is contained in:
2026-03-07 00:24:40 +03:00
parent 9d84e15e01
commit 688c46c68b
12 changed files with 554 additions and 269 deletions
+7 -7
View File
@@ -234,7 +234,7 @@
- `src/spark/partitioned_table_demo.sql` — создание партиционированной Iceberg-таблицы и вставка данных.
- `src/spark/schema_evolution_demo.sql` — демонстрация `ALTER TABLE` и добавления колонок.
- `src/trino/schema_evolution_demo.sql` — чтение той же таблицы с эволюцией схемы из Trino.
- `notebooks/03_partitioning_and_schema_evolution.ipynb` — интерактивный разбор тех же примеров в Jupyter.
- интерактивный ноутбук для этой legacy-лабы удалён из актуального репозитория, чтобы не смешивать его с основным треком курса.
**Вариант A: через Spark SQL и Trino CLI**
@@ -291,13 +291,13 @@
docker compose exec trino trino --file /tmp/schema_evolution_demo.sql
```
**Вариант B: через Jupyter-ноутбук**
**Вариант B: через Jupyter вручную**
- Открыть `http://localhost:8888` и запустить ноутбук `03_partitioning_and_schema_evolution.ipynb`.
- Ноутбук:
- создаёт SparkSession, подключённый к кластеру;
- выполняет скрипты `partitioned_table_demo.sql` и `schema_evolution_demo.sql`;
- показывает агрегаты по партициям и данные до/после эволюции схемы в интерактивном виде.
- Открыть `http://localhost:8888`, если нужен самостоятельный разбор SQL-примеров в Jupyter.
- Повторить те же шаги вручную в кодовых ячейках:
- создать SparkSession, подключённый к кластеру;
- выполнить скрипты `partitioned_table_demo.sql` и `schema_evolution_demo.sql`;
- посмотреть агрегаты по партициям и данные до/после эволюции схемы в интерактивном виде.
---