Я следовал следующей документации https://docs.databricks.com/data/data-sources/sql-databases.html#create -the-jdb c -url для использования JDB C для чтения данных
jdbcHostname = "server_name.database.windows.net"
jdbcDatabase = "database_name"
jdbcPort = 1433
jdbcUrl = "jdbc:sqlserver://{0}:{1};{2}".format(jdbcHostname, jdbcPort, jdbcDatabase)
connectionProperties = {
"user" : 'my_id',
"password" : 'my_passwd'
}
pushdown_query = "(SELECT [column_name] FROM [table_name])"
df = spark.read.jdbc(url=jdbcUrl, table=pushdown_query, properties=connectionProperties)
display(df)
Тот же запрос выполняется нормально в SSMS, но при запуске этого в azure databrick я получаю следующую ошибку. Я просмотрел этот пост, чтобы исправить ошибку, но безуспешно. Как использовать JDB C источник для записи и чтения данных в (Py) Spark?
Я также пробовал с этим URl https://dev.to/fruiza/connect-to-azure-data-warehouse-from-azure-databricks-jl2
jdbUrl = ''jdbc:sqlserver://server_name.database.windows.net:1433;database=database_name;user=my_id;password=my_passwd;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword''
df = (spark
.read
.format("com.databricks.spark.sqldw")
.option("url", jdbcUrl)
.option("query", "SELECT [column_name] FROM [table_name]")).load()
df.show()
Это правильный способ, которым я делаю .. Любая помощь будет оценена.