如何在 Databricks 中安装 PYODBC

How to install PYODBC in Databricks

我必须在 Databricks 中安装 pyodbc 模块。 我曾尝试使用此命令 (pip install pyodbc),但由于以下错误而失败。

Error message

右键单击要存储库的工作区文件夹。

Select 创建 > 库。

查看此https://docs.databricks.com/user-guide/libraries.html了解详细信息

前一段时间我在使用 pyobdc 连接时遇到了一些问题,我的修复细节在这里:https://datathirst.net/blog/2018/10/12/executing-sql-server-stored-procedures-on-databricks-pyspark

我认为问题源于数据块集群上的 PYTHONPATH 被设置为 Python 2 安装。

我怀疑以下几行:

%sh    
apt-get -y install unixodbc-dev
/databricks/python/bin/pip install pyodbc

会为你工作。

更新:更简单(尽管您仍然需要上面的 unixodbc-dev):

%sh 
sudo apt-get install python3-pip -y
pip3 install --upgrade pyodbc

我在安装时遇到了同样的问题。这是我尝试过的并且有效。

  • Databricks 没有默认的 ODBC 驱动程序。 运行 按照单个单元格中的命令安装 MS SQL ODBC 驱动程序
%sh
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17
  • 运行笔记本中的这个
dbutils.fs.put("/databricks/init/<YourClusterName>/pyodbc-install.sh","""
#!/bin/bash
sudo apt-get update
sudo apt-get -q -y install unixodbc unixodbc-dev
sudo apt-get -q -y install python3-dev
/databricks/python/bin/pip install pyodbc
""", True)
  • 重启集群

  • 在代码中导入pyodbc