【发布时间】:2019-01-10 15:47:22
【问题描述】:
我必须在 Databricks 中安装 pyodbc 模块。
我曾尝试使用此命令 (pip install pyodbc),但由于以下错误而失败。
【问题讨论】:
标签: python-3.x pyodbc databricks azure-databricks
我必须在 Databricks 中安装 pyodbc 模块。
我曾尝试使用此命令 (pip install pyodbc),但由于以下错误而失败。
【问题讨论】:
标签: python-3.x pyodbc databricks azure-databricks
我在安装时遇到了同样的问题。这是我尝试过的方法,它奏效了。
%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
【讨论】:
不久前我在使用 pyobdc 连接时遇到了一些问题,我的修复细节在这里:https://datathirst.net/blog/2018/10/12/executing-sql-server-stored-procedures-on-databricks-pyspark
我认为问题源于 Databricks 集群上的 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
【讨论】:
【讨论】: