如何在Azure Synapse Apache Spark中安装sql-spark-connector库
在Azure Synapse Apache Spark中导入SQL Server/Azure SQL Spark连接器操作指南
以下是两种最常用的导入方式,可根据使用场景选择:
方式1:单次作业临时导入(适配测试/临时开发场景)
无需改动Spark池配置,仅针对当前运行的Notebook/作业生效:
- 打开目标Spark Notebook,在第一个代码单元格执行如下配置命令,注意版本要匹配当前Spark池的版本:
%%configure -f { "conf": { "spark.jars.packages": "com.microsoft.azure:spark-mssql-connector_2.12:1.3.0-BETA" } }
注:若使用Spark 2.4等旧版本,替换为对应版本的连接器包坐标即可,Synapse默认已配置公共Maven源,无需额外配置源地址。
方式2:Spark池全局安装(适配生产/高频使用场景)
安装后所有提交到该Spark池的作业都可直接调用连接器,无需每次重复配置:
- 进入Synapse工作区左侧「管理」面板,选择「Apache Spark池」
- 找到需要安装连接器的目标Spark池,点击右侧更多操作按钮,选择「包」选项
- 在Maven包配置栏填入对应坐标:
- 组ID:
com.microsoft.azure - 工件ID:
spark-mssql-connector_2.12 - 版本:选择和你Spark池版本匹配的最新稳定版即可
- 组ID:
- 保存配置后等待Spark池重启完成,即可全局生效
安装验证示例
可运行如下Python代码确认连接器可正常调用:
# 读取SQL表示例 df = spark.read \ .format("com.microsoft.sqlserver.jdbc.spark") \ .option("url", "jdbc:sqlserver://<SQL实例地址>:1433;databaseName=<数据库名>") \ .option("dbtable", "<目标表名>") \ .option("user", "<数据库账号>") \ .option("password", "<数据库密码>") \ .load() df.show()
注意事项
- 连接器的Scala版本需要和Spark池的Scala版本对应,目前Synapse Spark 3.x版本均基于Scala 2.12构建,选择
_2.12后缀的连接器包即可,版本不匹配会导致作业启动报错 - 若访问的是私有网络内的SQL实例,需先确保Spark池和SQL实例网络互通,连接器本身无额外网络配置要求
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

