如何在此处显示的代码中将AAD会话值代替密码和用户名:
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
val config = Config(Map(
"url" -> "kkk-server.database.windows.net:1433",
"databaseName" -> "MyDatabase",
"dbTable" -> "dbo.Clients",
"user" -> "AD-account",
"password" -> "xxxxxxxx",
"connectTimeout" -> "5", //seconds
"queryTimeout" -> "5" //seconds
))
val collection = spark.read.sqlDB(config)
collection.show()
答案 0 :(得分:0)
目前无法使用Azure Active Directory(AAD)身份验证连接到Azure Databricks上的Azure SQL数据库。您应该使用SQL身份验证。
如果您在Azure Databricks上尝试AAD身份验证,则可能会出现错误“此驱动程序未配置为进行集成身份验证”或类似的错误消息。
尽管可以在Azure Data Lake中使用AAD。
答案 1 :(得分:0)
您可以在Azure Databricks中使用Spark connector for SQL Server and Azure SQL Database。
用于SQL Server和Azure SQL数据库的Spark连接器还支持Azure Active Directory(AAD)身份验证。它允许您使用AAD帐户从Azure Databricks安全地连接到Azure SQL数据库。它提供类似于内置JDBC连接器的接口。
这里是例子:
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
val config = Config(Map(
"url" -> "mysqlserver.database.windows.net",
"databaseName" -> "MyDatabase",
"user" -> "username ",
"password" -> "*********",
"authentication" -> "ActiveDirectoryPassword",
"encrypt" -> "true"
))
val collection = sqlContext.read.SqlDB(config)
collection.show()
有关更多详细信息,请参见:Connect Spark to Azure SQL Database using AAD authentication
希望这会有所帮助。