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

Delta IO结合spark-excel读取文件出现ClassNotFoundException如何解决

问题原因

configure_spark_with_delta_pip方法执行时会默认覆写spark.jars.packages配置项,用内置的Delta核心依赖坐标替换你预先在builder中配置的spark-excel依赖坐标,最终导致spark-excel的类没有被正确加载,抛出类不存在异常。

解决方案

推荐使用configure_spark_with_delta_pip提供的extra_packages参数传入额外依赖,避免配置被覆盖,示例代码如下:

from delta.pip_utils import configure_spark_with_delta_pip

builder = SparkSession.builder.appName("transaction") \
.config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
.config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")

# 把spark-excel依赖通过extra_packages参数传入,和Delta依赖合并加载
spark = configure_spark_with_delta_pip(builder, extra_packages=["com.crealytics:spark-excel_2.12:0.14.0"]).getOrCreate()

# 后续读取Excel的逻辑不变
df = spark.read.format("com.crealytics.spark.excel") \
.option("header", "true") \
.load(path2)

注意:spark-excel的版本要和你当前使用的Spark版本、Scala版本匹配,你当前使用的是2.12版本的Scala编译的依赖,确保Spark版本和该spark-excel版本兼容即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:45:00