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

升级至Databricks 14.x/Spark 3.5.0后导出MongoDB遇SparkException

问题排查与解决

核心原因

java.lang.NoSuchMethodError 本质是MongoDB Spark Connector版本与Spark 3.5.0/Databricks 14.x不兼容。Spark 3.5.x对RowEncoder.apply的方法签名做了调整,旧版本的连接器仍在调用过时的方法签名,导致JVM找不到对应方法。

解决方案

  • 升级MongoDB Spark Connector到适配版本:
    针对Spark 3.5.x/Databricks 14.x,必须使用MongoDB Spark Connector 10.0.x及以上版本(该版本专门适配Spark 3.5)。若之前使用9.x或更早版本,需立即升级。
  • 确认Databricks集群依赖配置:
    在Databricks集群的「库」管理页面,添加或更新MongoDB Spark Connector,选择与集群Scala版本匹配的包(例如Scala 2.12对应spark-mongodb-connector_2.12:10.0.3),同时彻底移除旧版本的连接器依赖,避免冲突。
  • 验证代码:
    升级连接器后,原有写入代码无需修改,保持原逻辑即可:
    my_dataframe.write.format("mongodb") \
    .option("connection.uri", uri) \
    .option("database", db_name) \
    .option("collection", target_collection) \
    .mode("overwrite") \
    .save()
    

版本对应关系

Databricks与MongoDB连接器的版本匹配需严格对应:

  • Databricks 13.x(Spark 3.4.x)→ MongoDB Connector 9.x
  • Databricks 14.x(Spark 3.5.x)→ MongoDB Connector 10.x

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:32:09