использование JDB C для чтения данных из Azure SQL хранилища данных в azure блоке данных - PullRequest
0 голосов
/ 28 мая 2020

Я следовал следующей документации 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? enter image description here

Я также пробовал с этим 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()

enter image description here

Это правильный способ, которым я делаю .. Любая помощь будет оценена.

...