Commit Graph
11 Commits
Author SHA1 Message Date
ddadmin 863d658a5f fix(trino): bound memory for the learning stack 2026-10-19 10:47:40 +02:00
ddadmin 21f3570b89 docs: clarify learner workflow and resource requirements 2026-10-19 09:48:24 +02:00
ddadmin 78cf7b5fae fix(stack): use pinned MinIO image with registry fallback 2026-10-19 09:26:12 +02:00
ddadmin 7d451a7ce9 feat(ide): add browser VS Code for course notebooks 2026-10-18 22:39:39 +02:00
ddadmin a5244f8a0b docs(spark): simplify session setup explanations 2026-09-15 08:36:34 -04:00
ddadmin 91a5c85469 fix(spark): исправлено подключение ноутбуков к кластеру
- Зачем: модули 2–8 в новом процессе выбирали local[*] вместо Spark-кластера.
- Что: master перенесён в общий spark-defaults.conf, smoke требует точный адрес кластера, документация и планы синхронизированы.
- Проверка: фактическая инициализация всех восьми ноутбуков, повторный getOrCreate, распределённые вычисления, Iceberg/MinIO write-read-cleanup и docker compose config прошли.
2026-09-15 08:18:33 -04:00
ddadmin 2e961fd0c7 fix(minio): восстановлена загрузка образов
- Зачем: зафиксированные теги больше не доступны в Docker Hub для чистой установки.
- Что: MinIO Server и mc переведены на официальный Quay с сохранением версий; документация синхронизирована.
- Проверка: docker compose config; docker compose pull minio minio-init; docker compose up -d; MinIO live, init, Trino и Jupyter API.
2026-09-14 14:32:31 -04:00
ddadmin 1bf8a16111 fix(jupyter): исправлено подключение из VS Code
- Зачем: VS Code через Remote-SSH не мог создать kernel из-за XSRF-проверки при отключённой аутентификации.
- Что: Jupyter ограничен loopback-интерфейсом, а локальный режим без auth и XSRF задан в Docker Compose; документация синхронизирована.
- Проверка: docker compose config; JupyterLab GET 200; kernel POST 201 и DELETE 204 без token/XSRF; порт слушает только 127.0.0.1.
2026-09-14 11:02:49 -04:00
ddadmin 65d57ec6d6 feat(module-06): реализован модуль по совместной работе Spark и Trino
- Зачем:
  - продемонстрировать возможность доступа нескольких движков к одной Iceberg-таблице через общий каталог.
- Что:
  - создан notebooks/06_spark_and_trino_on_same_table.ipynb с примерами write (Spark) -> read (Trino).
  - в jupyter/Dockerfile добавлен клиент trino.
  - в START_HERE.md и docs/stack_reference.md добавлена инструкция по подключению DBeaver к Trino.
  - статус модуля 6 в планах обновлен до Ready for validation.
- Проверка:
  - ручная проверка выполнения ячеек в ноутбуке (Python trino client).
  - проверка наличия всех инструкций в документации.
2026-03-07 23:58:36 +03:00
ddadmin 6d1b6e9f61 feat(course): добавлен модуль 3 про raw ingest и чтение в Spark
- Зачем:
  - нужен следующий практический шаг после модулей 1-2: доставить raw-данные в MinIO и впервые прочитать их через Spark.
- Что:
  - добавлен ноутбук модуля 3 с raw ingest, first read, проверкой схемы, null-анализом и поиском аномалий.
  - обновлены START_HERE, stack reference и docker-compose для data bundle в ./data и mount в /opt/data.
  - добавлены правила игнорирования data bundle, .gitkeep для пустой директории и обновлён статус плана модуля.
- Проверка:
  - docker compose config.
  - выполнение notebooks/03_raw_ingest_and_first_read.ipynb на локальном data bundle.
2026-03-07 18:51:45 +03:00
ddadmin 688c46c68b 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`.
2026-03-07 00:24:40 +03:00