Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment connecter Azure Databricks à Microsoft SQL Server pour lire et écrire des données.
Important
La documentation de fédération de requête héritée a été supprimée et peut ne pas être mise à jour. Les configurations mentionnées dans ce contenu ne sont pas officiellement approuvées ou testées par Databricks. Si Lakehouse Federation prend en charge votre base de données source, Databricks recommande d’utiliser cela à la place.
Configurer une connexion à SQL Server
Dans Databricks Runtime 11.3 LTS et versions ultérieures, vous pouvez utiliser le sqlserver mot clé pour utiliser le pilote inclus pour la connexion à SQL Server. Lorsque vous utilisez des DataFrames, utilisez la syntaxe suivante :
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()
)
Langage de programmation 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()
Lorsque vous utilisez SQL, spécifiez sqlserver dans la clause USING et passez des options lors de la création d’une table, comme illustré dans l’exemple suivant :
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>'
);
Utiliser le pilote JDBC hérité
Dans Databricks Runtime 10.4 LTS et ci-dessous, vous devez spécifier le pilote et les configurations à l’aide des paramètres JDBC. L’exemple suivant interroge SQL Server à l’aide de son pilote JDBC. Pour plus d’informations sur la lecture, l’écriture, la configuration du parallélisme et le pushdown des requêtes, voir Bases de données de requête à l’aide de 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()
)
Langage de programmation 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()