Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как подключить Azure Databricks к серверу Microsoft SQL Server для чтения и записи данных.
Это важно
Устаревшая документация по федерации запросов была снята с употребления и возможно, больше не будет обновляться. Конфигурации, упомянутые в этом содержимом, официально не поддерживаются или проверяются Databricks. Если ваша исходная база данных поддерживается Федерацией Lakehouse, Databricks рекомендует использовать именно её.
Настройка подключения к SQL Server
В Databricks Runtime 11.3 LTS и более поздних версиях можно использовать sqlserver
ключевое слово для использования включенного драйвера для подключения к SQL Server. При работе с DataFrame используйте следующий синтаксис:
Питон
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()
При работе с SQL укажите sqlserver
в предложении и передайте параметры в USING
при создании таблицы, как показано в следующем примере:
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>'
);
Использование устаревшего драйвера JDBC
В Databricks Runtime 10.4 LTS и ниже необходимо указать драйвер и конфигурации с помощью параметров JDBC. В следующем примере выполняется запрос к SQL Server с помощью его JDBC-драйвера. Дополнительные сведения о чтении, написании, настройке параллелизма и отправке запросов см. в разделе "Базы данных запросов" с помощью JDBC.
Питон
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()