You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入错误:无法从pyspark.sql.utils导入CapturedException(版本兼容问题)

Delta Spark导入错误(CapturedException)解决方案

问题场景

当使用以下依赖配置时:

pyspark==3.4.0
delta-spark==2.0.0
python==3.11.4

执行代码片段:

from delta import configure_spark_with_delta_pip

出现如下导入错误日志:

ImportError                               Traceback (most recent call last)
Cell In[1], line 6
      3 from enum import Enum
      4 from datetime import datetime
----> 6 from delta import configure_spark_with_delta_pip
      7 from pyspark.sql import SparkSession
      8 from pyspark.sql.types import (ArrayType, BinaryType, BooleanType, ByteType,
      9                                FloatType, IntegerType, ShortType, StringType,
     10                                StructField, StructType, TimestampType)

File /usr/local/lib/python3.11/site-packages/delta/__init__.py:17
      1 #
      2 # Copyright (2021) The Delta Lake Project Authors.
      3 #
   (...)
     14 # limitations under the License.
     15 #
---> 17 from delta.tables import DeltaTable
     18 from delta.pip_utils import configure_spark_with_delta_pip
     20 __all__ = ['DeltaTable', 'configure_spark_with_delta_pip']

File /usr/local/lib/python3.11/site-packages/delta/tables.py:21
      1 #
      2 # Copyright (2021) The Delta Lake Project Authors.
      3 #
   (...)
     14 # limitations under the License.
     15 #
     17 from typing import (
     18     TYPE_CHECKING, cast, overload, Any, Iterable, Optional, Union, NoReturn, List, Tuple
     19 )
---> 21 import delta.exceptions  # noqa: F401; pylint: disable=unused-variable
     22 from delta._typing import (
     23     ColumnMapping, OptionalColumnMapping, ExpressionOrColumn, OptionalExpressionOrColumn
     24 )
     26 from pyspark import since

File /usr/local/lib/python3.11/site-packages/delta/exceptions.py:21
     19 from pyspark import SparkContext
     20 from pyspark.sql import utils
---> 21 from pyspark.sql.utils import (
     22     AnalysisException,
     23     CapturedException,
     24     IllegalArgumentException,
     25     ParseException
     26 )
     27 from py4j.java_gateway import is_instance_of  # type: ignore[import]
     29 if TYPE_CHECKING:

ImportError: cannot import name 'CapturedException' from 'pyspark.sql.utils' (/usr/local/lib/python3.11/site-packages/pyspark/sql/utils.py)

而切换到以下依赖配置时,代码可正常运行:

pyspark==3.2.2
delta-spark==2.0.0
python==3.10

问题原因

delta-spark 2.0.0版本的代码中尝试从pyspark.sql.utils导入CapturedException,但这个类在PySpark 3.4.0中已被移除,导致版本不兼容。

解决方案

方案1:升级delta-spark到兼容版本

delta-spark 2.4.0及以上版本已适配PySpark 3.4.0,修改依赖配置为:

pyspark==3.4.0
delta-spark>=2.4.0
python==3.11.4

执行依赖更新命令:

pip install --upgrade delta-spark

方案2:降级PySpark到兼容版本

如果无需升级delta-spark,可将PySpark降级至3.3.x或更低版本(如之前验证可行的3.2.2),依赖配置如下:

pyspark==3.2.2
delta-spark==2.0.0
python==3.11.4

执行依赖更新命令:

pip install pyspark==3.2.2

内容的提问来源于stack exchange,提问作者stevezkw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:17:42