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

Spark 3.3.0升级后写入SQL托管实例表失败求助

解决方案:Spark 3.3升级后SQL Server托管实例写入失败

问题根源

你遇到的java.lang.NoSuchMethodError: org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.createConnectionFactory(...)错误,核心原因是Spark SQL Server连接器版本与Spark 3.3不兼容。当前使用的spark-mssql-connector_2.12-1.2.0.jar是针对Spark 3.2开发的,而Spark 3.3对JDBC模块的API做了变更,导致旧连接器无法找到对应的方法。

解决步骤

  1. 升级连接器版本
    更换为适配Spark 3.3.x的连接器版本,推荐使用spark-mssql-connector_2.12-1.3.0.jar或更高版本(官方明确1.3.0及以上版本支持Spark 3.3)。

  2. 替换集群中的Jar包
    执行以下操作更新依赖:

    # 删除旧版本连接器
    rm /opt/spark/jars/spark-mssql-connector_2.12-1.2.0.jar
    # 复制新版本Jar包到Spark依赖目录
    cp /path/to/your/new/jar/spark-mssql-connector_2.12-1.3.0.jar /opt/spark/jars/
    

    如果是Notebook环境,也可以通过环境配置或依赖管理工具直接指定新版本连接器。

  3. 确认版本对应关系
    确保连接器与Spark版本匹配:

    • Spark 3.2.x → 连接器1.2.x
    • Spark 3.3.x → 连接器1.3.x
    • Spark 3.4.x → 连接器1.4.x

验证

重新执行你的DataFrame写入代码,确认Py4JJavaError和NoSuchMethodError不再出现,数据正常写入SQL托管实例表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:05:12