Добавить в модуль 3 практику базовой настройки SparkSession #2

Closed
opened 2026-09-15 14:12:03 +03:00 by ddmitry · 1 comment
Owner

Blocked by: #1

Зависимость: #1

Основание

Арсений Деев дошёл до модуля 4 и отметил, что в курсе не хватает базовой настройки Spark-сессии без сложного тюнинга. Отзыв передан автором курса и зафиксирован 2026-09-15; это дата фиксации, а не подтверждённая дата исходного сообщения.

Студент выполняет операции с подготовленной сессией, но ему нужна практика, чтобы понять, как подготовить Spark к работе вне готового ноутбука. Сначала в #1 проверяется фактический способ подключения в стенде.

Цель и место в курсе

Добавить короткую обязательную практику «Как настроен Spark в нашем стенде» в начало notebooks/03_raw_ingest_and_first_read.ipynb, после ментальной модели модуля 2 и до работы с raw-данными. Сохранить восемь модулей. Ориентир длительности — 20–30 минут; при проверке измерить фактическое время и пересмотреть общую оценку курса при необходимости.

Основной результат: студент может заполнить небольшой шаблон создания сессии, проверить подключение и объяснить происхождение настроек.

Содержание

  • Роли SparkSession, SparkContext, driver и executors на примере стенда.
  • Назначение master, appName, getOrCreate; отличие local-режима от подключения к кластеру.
  • Источники настроек: spark-defaults.conf, параметры запуска и код. Использовать проверенное в #1 устройство стенда.
  • Подготовленное подключение к Iceberg catalog и MinIO: какие настройки за что отвечают и где находятся.
  • Просмотр фактического master и выбранных несекретных настроек.
  • Повторное использование существующей сессии/контекста; отличие повторного запуска ячейки, остановки сессии и перезапуска ядра.
  • Один проверенный пример изменяемой во время работы настройки с восстановлением исходного значения и один пример настройки, требующей нового запуска. Проверить поведение для версии Spark стенда.

Практика и checkpoint

  1. Короткое объяснение и готовая демонстрация.
  2. Самостоятельное заполнение шаблона: подключение к кластеру, имя приложения, использование подготовленной конфигурации каталога.
  3. Проверка фактического master и чтение небольшой Iceberg-таблицы, которую создаёт сама практика. Не полагаться на сохранность demo-таблиц модуля 2.
  4. Ответ своими словами: какие настройки заданы в коде, какие предоставил стенд, где выполняются вычисления и что потребуется повторить после перезапуска ядра.
  5. Удаление только временной таблицы практики и продолжение штатного raw-ingest.

Границы

Объяснять по-русски, сохранять формат «объяснение → демонстрация → самостоятельное повторение → checkpoint». Избежать дополнительных обязательных загрузок и новых сервисов.

Подробный подбор памяти, числа executors, shuffle, GC и эксперимент с числом партиций не входят в эту задачу. Параметры ресурсов можно кратко обозначить как следующий уровень без рецептов глубокого тюнинга.

Документы

Сначала обновить docs/course_prd.md (learning outcomes и scope) и docs/course_program.md (содержание, практика, checkpoint модуля 3). Затем обновить ноутбук, plans/module-03-raw-ingest-and-first-read.md, справочные материалы и связанные ссылки по AGENTS.md. Проверить маршрут README → START_HERE → программа → ноутбуки. В plans/course-roadmap.md отметить результат, если документ уже опубликован.

Критерии приёмки

  • #1 закрыта, её итог прочитан; учебные объяснения соответствуют проверенной конфигурации.
  • PRD и программа описывают новый результат обучения и обязательную практику в модуле 3.
  • Есть объяснение, демонстрация, самостоятельное задание и проверяемый checkpoint по списку выше.
  • Код практики и контрольное решение проверены в новом ядре; повторный запуск и перезапуск ядра дают объяснимый результат.
  • Проверены примеры изменения настройки и нового запуска; исходное состояние восстанавливается для продолжения урока.
  • Практика использует собственную временную таблицу, сохраняет учебные данные и позволяет продолжить исходный сценарий модуля 3.
  • Проверено прохождение модуля 3 с дополнением; записаны длительность и ограничения проверки.
  • Ссылки, термины и маршрут согласованы; git diff --check проходит.

Приоритет и статус

Вторая работа ближайшего обновления курса. Метка ready-for-agent означает готовность постановки; приступать после снятия зависимости #1. Общий план готовится в plans/course-roadmap.md; необходимые требования приведены здесь.

Blocked by: #1 Зависимость: https://git.dementev.space/ddmitry/mini-lakehouse-lab/issues/1 ## Основание Арсений Деев дошёл до модуля 4 и отметил, что в курсе не хватает базовой настройки Spark-сессии без сложного тюнинга. Отзыв передан автором курса и зафиксирован 2026-09-15; это дата фиксации, а не подтверждённая дата исходного сообщения. Студент выполняет операции с подготовленной сессией, но ему нужна практика, чтобы понять, как подготовить Spark к работе вне готового ноутбука. Сначала в #1 проверяется фактический способ подключения в стенде. ## Цель и место в курсе Добавить короткую обязательную практику «Как настроен Spark в нашем стенде» в начало `notebooks/03_raw_ingest_and_first_read.ipynb`, после ментальной модели модуля 2 и до работы с raw-данными. Сохранить восемь модулей. Ориентир длительности — 20–30 минут; при проверке измерить фактическое время и пересмотреть общую оценку курса при необходимости. Основной результат: студент может заполнить небольшой шаблон создания сессии, проверить подключение и объяснить происхождение настроек. ## Содержание - Роли SparkSession, SparkContext, driver и executors на примере стенда. - Назначение master, appName, getOrCreate; отличие local-режима от подключения к кластеру. - Источники настроек: spark-defaults.conf, параметры запуска и код. Использовать проверенное в #1 устройство стенда. - Подготовленное подключение к Iceberg catalog и MinIO: какие настройки за что отвечают и где находятся. - Просмотр фактического master и выбранных несекретных настроек. - Повторное использование существующей сессии/контекста; отличие повторного запуска ячейки, остановки сессии и перезапуска ядра. - Один проверенный пример изменяемой во время работы настройки с восстановлением исходного значения и один пример настройки, требующей нового запуска. Проверить поведение для версии Spark стенда. ## Практика и checkpoint 1. Короткое объяснение и готовая демонстрация. 2. Самостоятельное заполнение шаблона: подключение к кластеру, имя приложения, использование подготовленной конфигурации каталога. 3. Проверка фактического master и чтение небольшой Iceberg-таблицы, которую создаёт сама практика. Не полагаться на сохранность demo-таблиц модуля 2. 4. Ответ своими словами: какие настройки заданы в коде, какие предоставил стенд, где выполняются вычисления и что потребуется повторить после перезапуска ядра. 5. Удаление только временной таблицы практики и продолжение штатного raw-ingest. ## Границы Объяснять по-русски, сохранять формат «объяснение → демонстрация → самостоятельное повторение → checkpoint». Избежать дополнительных обязательных загрузок и новых сервисов. Подробный подбор памяти, числа executors, shuffle, GC и эксперимент с числом партиций не входят в эту задачу. Параметры ресурсов можно кратко обозначить как следующий уровень без рецептов глубокого тюнинга. ## Документы Сначала обновить `docs/course_prd.md` (learning outcomes и scope) и `docs/course_program.md` (содержание, практика, checkpoint модуля 3). Затем обновить ноутбук, `plans/module-03-raw-ingest-and-first-read.md`, справочные материалы и связанные ссылки по AGENTS.md. Проверить маршрут README → START_HERE → программа → ноутбуки. В `plans/course-roadmap.md` отметить результат, если документ уже опубликован. ## Критерии приёмки - [x] #1 закрыта, её итог прочитан; учебные объяснения соответствуют проверенной конфигурации. - [x] PRD и программа описывают новый результат обучения и обязательную практику в модуле 3. - [x] Есть объяснение, демонстрация, самостоятельное задание и проверяемый checkpoint по списку выше. - [x] Код практики и контрольное решение проверены в новом ядре; повторный запуск и перезапуск ядра дают объяснимый результат. - [x] Проверены примеры изменения настройки и нового запуска; исходное состояние восстанавливается для продолжения урока. - [x] Практика использует собственную временную таблицу, сохраняет учебные данные и позволяет продолжить исходный сценарий модуля 3. - [x] Проверено прохождение модуля 3 с дополнением; записаны длительность и ограничения проверки. - [x] Ссылки, термины и маршрут согласованы; `git diff --check` проходит. ## Приоритет и статус Вторая работа ближайшего обновления курса. Метка ready-for-agent означает готовность постановки; приступать после снятия зависимости #1. Общий план готовится в `plans/course-roadmap.md`; необходимые требования приведены здесь.
ddmitry added the ready-for-agent label 2026-09-15 14:12:04 +03:00
ddmitry self-assigned this 2026-09-15 15:47:57 +03:00
Author
Owner

Результат принят автором курса после ревью MR #4: #4.

Модуль 3 включает создание Spark-сессии, проверку подключения и последующую работу с Taxi. Объяснения и учебные документы согласованы с результатом закрытой #1; сохранены восемь модулей.

Проверены демонстрация, заполненный шаблон и контрольное решение в новых ядрах, повторный getOrCreate, остановка и перезапуск ядра, изменение часового пояса с восстановлением, новое имя приложения, запись/чтение и удаление временных Iceberg-таблиц. Полный модуль 3 выполнен на 9 554 778 строках Taxi; повторная загрузка пропускает все четыре raw-файла. Существовавшие объекты сохранены, каталог не изменен.

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

Полные результаты и ограничения: https://git.dementev.space/ddmitry/mini-lakehouse-lab/src/branch/main/plans/issue-2-spark-session-validation.md.

Стенд остановлен без удаления volumes; raw-данные и локальный bundle сохранены. Статусы внутренних планов обновлены.

Результат принят автором курса после ревью MR #4: https://git.dementev.space/ddmitry/mini-lakehouse-lab/pulls/4. Модуль 3 включает создание Spark-сессии, проверку подключения и последующую работу с Taxi. Объяснения и учебные документы согласованы с результатом закрытой #1; сохранены восемь модулей. Проверены демонстрация, заполненный шаблон и контрольное решение в новых ядрах, повторный getOrCreate, остановка и перезапуск ядра, изменение часового пояса с восстановлением, новое имя приложения, запись/чтение и удаление временных Iceberg-таблиц. Полный модуль 3 выполнен на 9 554 778 строках Taxi; повторная загрузка пропускает все четыре raw-файла. Существовавшие объекты сохранены, каталог не изменен. Машинный прогон занял 250,02 с. Время самостоятельной работы студента и UI не проверялись; ориентир 20–30 минут на настройку и общая оценка курса остаются предварительными. После редактуры подтверждена неизменность исполняемых ячеек и контрольного решения; проверки ссылок и git diff --check пройдены. Полные результаты и ограничения: https://git.dementev.space/ddmitry/mini-lakehouse-lab/src/branch/main/plans/issue-2-spark-session-validation.md. Стенд остановлен без удаления volumes; raw-данные и локальный bundle сохранены. Статусы внутренних планов обновлены.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ddmitry/mini-lakehouse-lab#2