如何在Azure Databricks中配置PostgreSQL驱动连接Redshift数据库
解决方案说明
首先澄清:pyodbc 依赖的是ODBC驱动而非JDBC驱动,以下提供两种可选项的实现方案:
方案1:使用PostgreSQL ODBC驱动
修改后的安装脚本
apt-get update # 替换原MSSQL驱动安装逻辑,安装PostgreSQL ODBC驱动 apt-get install -y odbc-postgresql apt-get -y install unixodbc-dev apt-get install python3-pip -y pip3 install --upgrade pyodbc
pyodbc 连接字符串示例
import pyodbc conn_str = ( "DRIVER={PostgreSQL Unicode};" "SERVER=<你的Redshift集群端点>;" "PORT=5439;" "DATABASE=<数据库名>;" "UID=<用户名>;" "PWD=<密码>;" "sslmode=require;" ) conn = pyodbc.connect(conn_str)
方案2:使用亚马逊官方Redshift专用ODBC驱动(更推荐,适配Redshift独有特性)
安装脚本
curl https://s3.amazonaws.com/redshift-downloads/redshift-odbc-driver/AmazonRedshiftODBCDriver.pub | apt-key add - echo "deb [arch=amd64] https://s3.amazonaws.com/redshift-downloads/redshift-odbc-driver/amd64 stable main" > /etc/apt/sources.list.d/redshift-odbc-driver.list apt-get update apt-get install -y amazonredshiftodbcdriver apt-get -y install unixodbc-dev apt-get install python3-pip -y pip3 install --upgrade pyodbc
pyodbc 连接字符串示例
import pyodbc conn_str = ( "DRIVER={Amazon Redshift ODBC Driver (x64)};" "SERVER=<你的Redshift集群端点>;" "PORT=5439;" "DATABASE=<数据库名>;" "UID=<用户名>;" "PWD=<密码>;" "SslMode=require;" ) conn = pyodbc.connect(conn_str)
验证步骤
安装完成后执行 pyodbc.drivers() 即可在返回列表中看到对应安装的驱动名称。
内容的提问来源于stack exchange,提问作者Nate
相关产品推荐
相关产品推荐

