Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como você pode conectar o Azure Databricks ao Microsoft SQL Server para ler e gravar dados.
Importante
A documentação da federação de consulta herdada foi desativada e pode não ser atualizada. As configurações mencionadas neste conteúdo não são oficialmente endossadas ou testadas pelo Databricks. Se Federação Lakehouse der suporte ao seu banco de dados de origem, Databricks recomenda usá-lo.
Configurar uma conexão com o SQL Server
No Databricks Runtime 11.3 LTS e posteriores, você pode usar a sqlserver palavra-chave para usar o driver incluído para se conectar ao SQL Server. Ao trabalhar com DataFrames, use a seguinte sintaxe:
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 (linguagem de programação)
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()
Ao trabalhar com SQL, especifique sqlserver na cláusula USING e passe opções enquanto cria uma tabela, conforme mostrado no exemplo a seguir.
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>'
);
Usar o driver JDBC legado
No Databricks Runtime 10.4 LTS e abaixo, você deve especificar o driver e as configurações usando as configurações JDBC. O exemplo a seguir consulta o SQL Server usando seu driver JDBC. Para obter mais detalhes sobre leitura, gravação, configuração de paralelismo e envio de consulta, consulte Consultar bancos de dados usando 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 (linguagem de programação)
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()