首页 > 解决方案 > 如何在 Python 中从 Azure Databricks 插入 Azure SQL 数据库

问题描述

由于 pyodbc 无法安装到 Azure databricks,我正在尝试使用 jdbc 通过 Python 将数据插入 Azure SQL 数据库,但我可以找到示例代码。

jdbcHostname = "xxxxxxx.database.windows.net"
jdbcDatabase = "yyyyyy"
jdbcPort = 1433
#jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2};user={3};password={4}".format(jdbcHostname, jdbcPort, jdbcDatabase, username, password)

jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2}".format(jdbcHostname, jdbcPort, jdbcDatabase)
connectionProperties = {
  "user" : jdbcUsername,
  "password" : jdbcPassword,
  "driver" : "com.microsoft.sqlserver.jdbc.SQLServerDriver"
}

pushdown_query = "(INSERT INTO test (a, b) VALUES ('val_a', 'val_b')) insert_test" 

请告知如何在 Python 中编写插入代码。谢谢。

标签: pythonjdbcazure-sql-databaseazure-databricks

解决方案


如果我可以补充,您还应该能够使用 Spark 数据框插入到 Azure SQL。只需使用从 Azure SQL 获得的连接字符串。

connectionString = "<Azure SQL Connection string>"

data = spark.createDataFrame([(val_a, val_b)], ["a", "b"])

data.write.jdbc(connectionString, "<TableName>", mode="append")

推荐阅读