Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du kan ansluta Azure Databricks till Microsoft SQL Server för att läsa och skriva data.
Viktigt!
Dokumentationen för den gamla frågefederationen har dragits tillbaka och kanske inte kommer att uppdateras. De konfigurationer som nämns i det här innehållet stöds inte officiellt eller testas inte av Databricks. Om Lakehouse Federation stöder källdatabasen rekommenderar Databricks att du använder den i stället.
Konfigurera en anslutning till SQL Server
I Databricks Runtime 11.3 LTS och senare kan du använda nyckelordet sqlserver för att använda den inkluderade drivrutinen för att ansluta till SQL-servern. När du arbetar med DataFrames använder du följande syntax:
python
remote_table = (spark.read
.format("sqlserver")
.option("host", "hostName")
.option("port", "port") # optional, can use default port 1433 if omitted
.option("user", "username")
.option("password", "password")
.option("database", "databaseName")
.option("dbtable", "schemaName.tableName") # (if schemaName not provided, default to "dbo")
.load()
)
Scala
val remote_table = spark.read
.format("sqlserver")
.option("host", "hostName")
.option("port", "port") // optional, can use default port 1433 if omitted
.option("user", "username")
.option("password", "password")
.option("database", "databaseName")
.option("dbtable", "schemaName.tableName") // (if schemaName not provided, default to "dbo")
.load()
När du arbetar med SQL anger du sqlserver i USING -satsen och passeringsalternativen när du skapar en tabell, som du ser i följande exempel:
DROP TABLE IF EXISTS sqlserver_table;
CREATE TABLE sqlserver_table
USING sqlserver
OPTIONS (
dbtable '<schema-name.table-name>',
host '<host-name>',
port '1433',
database '<database-name>',
user '<username>',
password '<password>'
);
Använda den äldre JDBC-drivrutinen
I Databricks Runtime 10.4 LTS och nedan måste du ange drivrutinen och konfigurationerna med JDBC-inställningarna. I följande exempel frågas SQL Server med hjälp av dess JDBC-drivrutin. Mer information om att läsa, skriva, konfigurera parallellitet och skicka frågor finns i Frågedatabaser med JDBC.
python
driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
database_host = "<database-host-url>"
database_port = "1433" # update if you use a non-default port
database_name = "<database-name>"
table = "<table-name>"
user = "<username>"
password = "<password>"
url = f"jdbc:sqlserver://{database_host}:{database_port};database={database_name}"
remote_table = (spark.read
.format("jdbc")
.option("driver", driver)
.option("url", url)
.option("dbtable", table)
.option("user", user)
.option("password", password)
.load()
)
Scala
val driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
val database_host = "<database-host-url>"
val database_port = "1433" // update if you use a non-default port
val database_name = "<database-name>"
val table = "<table-name>"
val user = "<username>"
val password = "<password>"
val url = s"jdbc:sqlserver://{database_host}:{database_port};database={database_name}"
val remote_table = spark.read
.format("jdbc")
.option("driver", driver)
.option("url", url)
.option("dbtable", table)
.option("user", user)
.option("password", password)
.load()