В отдельном процессе модули 2–8 запускали Spark в local[*], хотя курс предполагает работу на кластере. Теперь все восемь ноутбуков получают spark.master=spark://spark-master:7077 из общего spark/spark-defaults.conf; helper модуля 1 использует ту же конфигурацию, а smoke проверяет точный адрес кластера.
Уточнены комментарии, инструкция запуска, справочник и планы модулей. Формулировки прошли редактуру и приняты автором курса.
Проверено: исходное поведение восьми способов создания сессии; после исправления — фактическая инициализация из каждого .ipynb в отдельном Python/JVM-процессе и вычисление суммы 0…99 на четырех партициях (4950); повторный getOrCreate(); кластерный smoke на миллионе строк; запись и чтение отдельной Iceberg-таблицы с удалением тестовых объектов. Также прошли docker compose config, git diff --check и проверка неизменности исполняемого кода после редактуры.
Ограничения: проверялась инициализация, а не полное прохождение ноутбуков. Новый запуск проверялся отдельными процессами в Jupyter-контейнере; перезапуск ядра через UI не проверялся. Учебные таблицы не изменялись, volumes сохранены.
В отдельном процессе модули 2–8 запускали Spark в `local[*]`, хотя курс предполагает работу на кластере. Теперь все восемь ноутбуков получают `spark.master=spark://spark-master:7077` из общего `spark/spark-defaults.conf`; helper модуля 1 использует ту же конфигурацию, а smoke проверяет точный адрес кластера.
Уточнены комментарии, инструкция запуска, справочник и планы модулей. Формулировки прошли редактуру и приняты автором курса.
Проверено: исходное поведение восьми способов создания сессии; после исправления — фактическая инициализация из каждого `.ipynb` в отдельном Python/JVM-процессе и вычисление суммы 0…99 на четырех партициях (4950); повторный `getOrCreate()`; кластерный smoke на миллионе строк; запись и чтение отдельной Iceberg-таблицы с удалением тестовых объектов. Также прошли `docker compose config`, `git diff --check` и проверка неизменности исполняемого кода после редактуры.
Ограничения: проверялась инициализация, а не полное прохождение ноутбуков. Новый запуск проверялся отдельными процессами в Jupyter-контейнере; перезапуск ядра через UI не проверялся. Учебные таблицы не изменялись, volumes сохранены.
Задача: #1. [Подробный протокол проверок и ограничения](https://git.dementev.space/ddmitry/mini-lakehouse-lab/issues/1#issuecomment-2963).
- Зачем: модули 2–8 в новом процессе выбирали local[*] вместо Spark-кластера.
- Что: master перенесён в общий spark-defaults.conf, smoke требует точный адрес кластера, документация и планы синхронизированы.
- Проверка: фактическая инициализация всех восьми ноутбуков, повторный getOrCreate, распределённые вычисления, Iceberg/MinIO write-read-cleanup и docker compose config прошли.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
В отдельном процессе модули 2–8 запускали Spark в
local[*], хотя курс предполагает работу на кластере. Теперь все восемь ноутбуков получаютspark.master=spark://spark-master:7077из общегоspark/spark-defaults.conf; helper модуля 1 использует ту же конфигурацию, а smoke проверяет точный адрес кластера.Уточнены комментарии, инструкция запуска, справочник и планы модулей. Формулировки прошли редактуру и приняты автором курса.
Проверено: исходное поведение восьми способов создания сессии; после исправления — фактическая инициализация из каждого
.ipynbв отдельном Python/JVM-процессе и вычисление суммы 0…99 на четырех партициях (4950); повторныйgetOrCreate(); кластерный smoke на миллионе строк; запись и чтение отдельной Iceberg-таблицы с удалением тестовых объектов. Также прошлиdocker compose config,git diff --checkи проверка неизменности исполняемого кода после редактуры.Ограничения: проверялась инициализация, а не полное прохождение ноутбуков. Новый запуск проверялся отдельными процессами в Jupyter-контейнере; перезапуск ядра через UI не проверялся. Учебные таблицы не изменялись, volumes сохранены.
Задача: #1. Подробный протокол проверок и ограничения.