【发布时间】:2020-11-09 20:01:37
【问题描述】:
我是 databricks 的新手,我需要安排一些代码来使用 python 将数据转换和写入 azure sql 数据库。
我收到以下错误: DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")
在本地运行代码工作正常,并将数据写入 azure sql db。
下面是我的代码示例
server = "example.database.windows.net"
database = ""
username = ""
password = ""
driver = '{ODBC Driver 17 for SQL Server}'
odbc_str = 'DRIVER='+driver+';SERVER='+server+';PORT=1433;UID='+username+';DATABASE='+ database + ';PWD='+ password
connect_str = 'mssql+pyodbc:///?odbc_connect=' + urllib.parse.quote_plus(odbc_str)
engine = create_engine(connect_str)
df = pd.DataFrame({"Def": [1,2,3,4,5]})
def to_sql(df, table):
df.to_sql(table, engine, if_exists = "replace", index=False, chunksize = 100)
to_sql(df, "Def")
【问题讨论】:
-
根据报错需要在Azure databricks中安装odbc驱动:docs.microsoft.com/en-us/azure/databricks/integrations/bi/…。另外,在azure databricks中,我们可以直接使用jdbc驱动连接Azure SQL:docs.microsoft.com/en-us/azure/databricks/data/data-sources/…
标签: python apache-spark azure-sql-database azure-databricks