feat(course): практика настройки SparkSession в модуле 3 #4

Merged
ddmitry merged 4 commits from 2-spark-session-practice into main 2026-09-15 16:20:46 +03:00
Owner

В модуле 3 студент использовал готовую Spark-сессию, не разбирая, как подключиться к кластеру самостоятельно. Теперь он начинает работу с Taxi с создания сессии и проверки подключения, затем загружает raw-файлы, читает их и проверяет качество данных.

В ноутбуке есть объяснение источников настроек, демонстрация, шаблон с контрольным решением и общий checkpoint модуля. Студент сравнивает повторный getOrCreate(), остановку сессии и перезапуск ядра, меняет часовой пояс с восстановлением и проверяет каталог на собственной временной Iceberg-таблице. PRD, программа, справочник и глоссарий согласованы с этим маршрутом.

Проверка

  • Spark 3.5.1: создание сессий в новых IPython-ядрах, повторные вызовы и перезапуск через jupyter_client.KernelManager; запись/чтение и удаление временных таблиц.
  • Полный модуль 3 с заполненными упражнениями: 9 554 778 строк Taxi и 265 строк справочника зон, профилирование и top-5 локаций. Повторная загрузка пропускает все четыре raw-файла. Исходные объекты сохранены, каталог не изменен.
  • docker compose config --quiet, nbformat.validate, Python AST и проверки ссылок. После редактуры подтверждено точное совпадение исполняемых ячеек, их порядка и контрольного решения с проверенной версией; повторены проверки ссылок, нумерации и git diff --check.

Машинный прогон занял 250,02 с. Время самостоятельной работы студента и UI не проверялись; оценка 20–30 минут на подключение остается ориентиром. Стенд остановлен с сохранением данных. Подробные результаты и ограничения: отчет проверки.

Задача: #2

Closes #2

В модуле 3 студент использовал готовую Spark-сессию, не разбирая, как подключиться к кластеру самостоятельно. Теперь он начинает работу с Taxi с создания сессии и проверки подключения, затем загружает raw-файлы, читает их и проверяет качество данных. В ноутбуке есть объяснение источников настроек, демонстрация, шаблон с контрольным решением и общий checkpoint модуля. Студент сравнивает повторный `getOrCreate()`, остановку сессии и перезапуск ядра, меняет часовой пояс с восстановлением и проверяет каталог на собственной временной Iceberg-таблице. PRD, программа, справочник и глоссарий согласованы с этим маршрутом. ## Проверка - Spark 3.5.1: создание сессий в новых IPython-ядрах, повторные вызовы и перезапуск через `jupyter_client.KernelManager`; запись/чтение и удаление временных таблиц. - Полный модуль 3 с заполненными упражнениями: 9 554 778 строк Taxi и 265 строк справочника зон, профилирование и top-5 локаций. Повторная загрузка пропускает все четыре raw-файла. Исходные объекты сохранены, каталог не изменен. - `docker compose config --quiet`, `nbformat.validate`, Python AST и проверки ссылок. После редактуры подтверждено точное совпадение исполняемых ячеек, их порядка и контрольного решения с проверенной версией; повторены проверки ссылок, нумерации и `git diff --check`. Машинный прогон занял 250,02 с. Время самостоятельной работы студента и UI не проверялись; оценка 20–30 минут на подключение остается ориентиром. Стенд остановлен с сохранением данных. Подробные результаты и ограничения: [отчет проверки](https://git.dementev.space/ddmitry/mini-lakehouse-lab/src/commit/cc0cd3857dda9366f0a90a0ccf187973a98b2773/plans/issue-2-spark-session-validation.md). Задача: https://git.dementev.space/ddmitry/mini-lakehouse-lab/issues/2 Closes #2
ddmitry added 1 commit 2026-09-15 16:02:19 +03:00
ddmitry added 1 commit 2026-09-15 16:04:51 +03:00
ddmitry added 1 commit 2026-09-15 16:12:38 +03:00
ddmitry added 1 commit 2026-09-15 16:20:13 +03:00
ddmitry merged commit 872b876be1 into main 2026-09-15 16:20:46 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ddmitry/mini-lakehouse-lab#4