如何从 Python 中的 Azure Databricks 插入 Azure SQL 数据库
How to INSERT INTO Azure SQL database from Azure Databricks in Python
由于无法将 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中编写插入代码。
谢谢
Since pyodbc cannot be installed to Azure databricks
实际上,您似乎可以在数据块中安装 pyodbc。
%sh
apt-get -y install unixodbc-dev
/databricks/python/bin/pip install pyodbc
更多的细节,你可以参考这篇 and this blog。
如果我可以补充,您应该还可以使用 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")
支持 Jon ...这就是我用来将数据从 Azure databricks 数据帧写入 Azure SQL 数据库:
Hostname = "YOUR_SERVER.database.windows.net"
Database = "YOUR_DB"
port = 1433
UN = 'YOUR_USERNAME'
PW = 'YOUR_PASSWORD'
Url = "jdbc:sqlserver://{0}:{1};database={2};user={3};password= {4}".format(Hostname, Port, Database, UN, PW)
df.write.jdbc(Url, "schema.table", mode="append")
由于无法将 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中编写插入代码。 谢谢
Since pyodbc cannot be installed to Azure databricks
实际上,您似乎可以在数据块中安装 pyodbc。
%sh
apt-get -y install unixodbc-dev
/databricks/python/bin/pip install pyodbc
更多的细节,你可以参考这篇
如果我可以补充,您应该还可以使用 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")
支持 Jon ...这就是我用来将数据从 Azure databricks 数据帧写入 Azure SQL 数据库:
Hostname = "YOUR_SERVER.database.windows.net"
Database = "YOUR_DB"
port = 1433
UN = 'YOUR_USERNAME'
PW = 'YOUR_PASSWORD'
Url = "jdbc:sqlserver://{0}:{1};database={2};user={3};password= {4}".format(Hostname, Port, Database, UN, PW)
df.write.jdbc(Url, "schema.table", mode="append")