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

Databricks集群配置init脚本自动安装pyodbc后找不到ODBC驱动问题求助

故障根因

  • 源版本不匹配:脚本硬编码了Ubuntu 16.04的微软软件源,当前主流Databricks运行时使用的是Ubuntu 20.04/22.04镜像,版本不匹配导致msodbcsql17驱动未实际安装成功,自然找不到对应驱动文件
  • 安装流程中断:初始化脚本运行在无交互的root上下文环境,脚本中混杂了不必要的sudo指令,部分安装步骤缺少静默确认参数,可能导致安装过程触发交互提示直接中断退出
  • Python环境不匹配:脚本中直接使用pip3安装pyodbc时,初始化脚本默认调用系统Python的pip,而Databricks笔记本运行时使用的是独立的虚拟Python环境,会导致pyodbc安装到系统Python而非业务使用的运行环境中
  • 缺少驱动注册步骤:部分场景下安装完成的ODBC驱动未自动注册到unixODBC的全局配置中,也会触发驱动找不到的报错

修正后的初始化脚本

#!/bin/bash
# 安装基础依赖
apt-get update
apt-get install -y curl apt-transport-https lsb-release gnupg
# 自动适配当前Ubuntu版本导入微软源
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft-prod.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list" > /etc/apt/sources.list.d/mssql-release.list
apt-get update
# 静默安装ODBC驱动及依赖
ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev
# 为Databricks业务Python环境安装pyodbc
/databricks/python/bin/pip install --upgrade pyodbc

验证方法

集群启动完成后,在笔记本中执行以下代码校验驱动状态:

import pyodbc
print(pyodbc.drivers())

输出结果中包含ODBC Driver 17 for SQL Server即可正常执行连接逻辑。

内容的提问来源于stack exchange,提问作者Sarim Zia Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 08:24:00