迁移Databricks集群初始化脚本路径后ODBC驱动安装失败求助
Databricks迁移初始化脚本至Workspace后ODBC安装失败的排查方案
1. 校验Workspace脚本路径有效性
- 确认初始化脚本的Workspace路径格式准确,例如
/Workspace/Users/your-email@domain.com/scripts/pyodbc.sh,注意Workspace路径区分大小写 - 通过Workspace UI或Notebook执行
%fs ls /Workspace/你的脚本路径,验证文件是否存在
2. 确保脚本具备执行权限
Workspace文件默认可能无执行权限,可先在Notebook中测试执行:
# 利用Databricks自动挂载的Workspace映射路径 %sh chmod +x /dbfs/FileStore/workspace/Users/your-email@domain.com/scripts/pyodbc.sh %sh /dbfs/FileStore/workspace/Users/your-email@domain.com/scripts/pyodbc.sh
注:Databricks会自动将Workspace目录挂载到/dbfs/FileStore/workspace/,可通过该路径直接访问Workspace内的脚本
3. 适配Databricks Runtime版本调整安装脚本
不同DBR版本的底层操作系统不同(如DBR 13+用Ubuntu 22.04,旧版本用Ubuntu 18.04/CentOS),需调整依赖安装命令:
适配Ubuntu 22.04(DBR 13.x+)的示例脚本
# 更新包源并安装系统依赖 sudo apt-get update -y && sudo apt-get install -y unixodbc unixodbc-dev gcc g++ python3-dev # 安装pyodbc pip install pyodbc --upgrade # 安装SQL Server ODBC驱动(按需替换为你的目标驱动) curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list sudo apt-get update -y sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
- 所有命令需添加非交互参数(如
-y、ACCEPT_EULA=Y),避免sudo执行时卡住
4. 检查集群配置权限
- 进入集群配置页,确认高级选项->Workspace访问已开启,允许集群读取Workspace文件
- 确保集群实例类型无特殊权限限制(避免使用受限的最小权限实例)
5. 提取错误日志精准定位
- 查看集群的事件日志->初始化脚本日志,获取具体错误信息:
- 若提示
permission denied:调整脚本权限或开启集群Workspace访问权限 - 若提示
package not found:更换对应操作系统的包源或依赖命令 - 若提示
file not found:重新校验Workspace脚本路径的拼写与大小写
- 若提示
内容的提问来源于stack exchange,提问作者play_something_good
相关产品推荐
相关产品推荐

