fix(spark): исправлено подключение ноутбуков к кластеру

- Зачем: модули 2–8 в новом процессе выбирали local[*] вместо Spark-кластера.
- Что: master перенесён в общий spark-defaults.conf, smoke требует точный адрес кластера, документация и планы синхронизированы.
- Проверка: фактическая инициализация всех восьми ноутбуков, повторный getOrCreate, распределённые вычисления, Iceberg/MinIO write-read-cleanup и docker compose config прошли.
This commit is contained in:
ddadmin committed 2026-09-15 08:18:33 -04:00
1 parent a085b2fc55
commit 91a5c85469
13 files changed
+32 -23

No files matched your search

+6 -6
View File
@@ -2,30 +2,30 @@ from __future__ import annotations
from pyspark.sql import SparkSession
DEFAULT_MASTER_URL = "spark://spark-master:7077"
EXPECTED_MASTER_URL = "spark://spark-master:7077"
DEFAULT_APP_NAME = "cluster-smoke"
DEFAULT_ROW_COUNT = 1_000_000
def create_spark_session(
app_name: str = DEFAULT_APP_NAME,
master_url: str = DEFAULT_MASTER_URL,
) -> SparkSession:
"""Создать SparkSession для проверок окружения в Модуле 1.
Функция специально остаётся минимальной и опирается на смонтированный
в контейнер `spark-defaults.conf` для остальной Spark/Iceberg-конфигурации.
в контейнер `spark-defaults.conf` для Spark/Iceberg-конфигурации.
"""
return SparkSession.builder.appName(app_name).master(master_url).getOrCreate()
return SparkSession.builder.appName(app_name).getOrCreate()
def run_cluster_smoke(spark: SparkSession, row_count: int = DEFAULT_ROW_COUNT) -> dict:
spark_context = spark.sparkContext
master_url = spark_context.master
if master_url.startswith("local"):
if master_url != EXPECTED_MASTER_URL:
raise RuntimeError(
"Smoke test must run against the Spark cluster, not local mode."
"Smoke test must run against "
f"{EXPECTED_MASTER_URL}, got {master_url}."
)
# Берём больше партиций, чем даёт defaultParallelism, чтобы задача точно