使用jdbc从azuredatabrick中的azuresql数据仓库读取数据

cqoc49vn  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(461)

我遵循以下文件https://docs.databricks.com/data/data-sources/sql-databases.html#create-用于使用jdbc读取数据的jdbc url

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中运行得很好,但是在azuredatabrick中运行这个查询时,我得到了以下错误。我看了这篇文章来解决这个错误,但没有成功如何使用jdbc源代码在(py)spark中写入和读取数据?

我也尝试过这个网址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()


我这样做对吗。。任何帮助都将不胜感激。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题