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

如何在Azure Synapse Notebook中安装MongoDB Spark连接器?

Azure Synapse 环境安装 MongoDB Spark Connector 操作步骤

报错Failed to find data source: mongodb的核心原因是当前Spark会话未加载MongoDB数据源依赖,不需要手动调用./bin/pyspark启动脚本,根据使用场景选以下任意一种方式配置即可:

方法1:Notebook 内临时配置(单Notebook生效,最快可用)

在Notebook的第一个代码单元格写入Spark配置,强制会话启动时拉取对应依赖,配置代码必须放在所有MongoDB读写逻辑之前运行:

%%configure -f
{
    "conf": {
        "spark.jars.packages": "org.mongodb.spark:mongo-spark-connector_2.12:10.2.1"
    }
}
  • 注意包名后缀_2.12是Scala版本号,需要和你当前Synapse Spark池内置的Scala版本匹配,目前Azure Synapse所有Spark 3.x版本均使用Scala 2.12,不要选错后缀。
  • 单元格运行完成后,会话会自动从Maven拉取依赖包,后续直接运行你的读取代码即可。

方法2:Spark池全局配置(池下所有作业/Notebook生效,一劳永逸)

如果需要让该Spark池上运行的所有任务都默认支持MongoDB数据源,可以直接把依赖配置到Spark池层面:

  • 打开Synapse Studio,进入「管理」板块找到「Apache Spark池」列表
  • 选中你正在使用的Spark池,进入配置页的「包」选项卡
  • 在Maven包配置项中添加坐标:org.mongodb.spark:mongo-spark-connector_2.12:10.2.1
  • 保存配置后等待Spark池更新完成,后续新启动的Spark会话会自动加载Connector,不需要每个Notebook单独配置。

方法3:离线Jar包上传(无公网访问场景适用)

如果你的Synapse工作区限制公网访问,无法直接拉取Maven包:

  • 提前下载对应版本的MongoDB Spark Connector Jar包,以及其强制依赖包(包括mongodb-driver-sync、bson、mongodb-driver-core)
  • 将所有Jar包上传到Synapse工作区关联的ADLS Gen2存储账户
  • 可以选择在Spark池的「工作区包」配置中上传上述Jar,或者在Notebook的%%configure配置中通过spark.jars参数指定Jar的存储路径即可。

注意:使用Linked Service(链接服务)连接MongoDB时,不需要额外在代码中配置连接串、账号密码,只要确认链接服务本身配置正确、Connector版本和Spark版本匹配,原有读取代码即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 13:06:08