Delta-Share调用o31.load报错:找不到deltaSharing数据源问题求助
报错根因
该错误为Spark运行时未加载Delta Sharing客户端依赖,无法识别deltaSharing类型的数据源,核心异常为deltaSharing.DefaultSource类加载失败。
排查步骤
- 确认当前Spark环境(集群/本地开发环境)是否已安装Delta Sharing客户端依赖
- 核对Delta Sharing客户端版本与当前Spark、Delta Lake内核版本的兼容性,版本不匹配也会触发类加载异常
- 若使用Databricks Runtime,检查运行时版本:11.3 LTS及以上版本默认内置Delta Sharing客户端,低于该版本需要手动安装依赖
- 检查作业提交参数是否正确指定了Delta Sharing的依赖包坐标
解决方法
场景1:Databricks运行环境
- 运行时版本低于11.3 LTS:在笔记本首行执行
%pip install delta-sharing安装Python客户端,同时在集群的「库」配置页添加对应版本的Maven依赖io.delta:delta-sharing-spark_2.12:<匹配版本号>,配置完成后重启集群即可 - 运行时版本高于等于11.3 LTS:直接重启集群重试即可,若仍报错可检查集群是否有自定义类加载配置屏蔽了内置依赖
场景2:自建Spark集群/本地提交作业
提交作业时通过--packages参数指定Delta Sharing依赖,示例提交命令:
spark-submit --packages io.delta:delta-sharing-spark_2.12:1.0.0 你的作业脚本路径.py
也可提前将对应版本的Delta Sharing jar包上传到集群所有节点的Spark jars目录,无需每次提交都指定依赖参数。
场景3:本地PySpark开发调试
首先安装Python依赖:
pip install delta-sharing
初始化SparkSession时明确配置依赖加载,示例代码:
from pyspark.sql import SparkSession spark = SparkSession.builder \ .appName("DeltaShareTest") \ .config("spark.jars.packages", "io.delta:delta-sharing-spark_2.12:1.0.0") \ .getOrCreate()
内容的提问来源于stack exchange,提问作者ambariCloud
相关产品推荐
相关产品推荐

