给跑在 Databricks 集群上的 PySpark 逻辑补单元测试时,一个常见的困惑是:测试数据只有两行五列,每个用例却要跑 3 到 5 分钟。把 SparkSession 精简到极致、关掉 UI、把 shuffle 分区压到 1,速度依然没有变化,本地和 CI 都一样慢。
问题现象
一个看起来已经"尽可能轻量"的 fixture:
# conftest.pyimportpytestfrompyspark.sqlimportSparkSession@pytest.fixture(scope="session")