【发布时间】:2022-08-04 18:14:37
【问题描述】:
我正在尝试使用 PySpark 从 Azure Synapse 工作区笔记本连接到 Azure SQL 数据库。我也想使用 Active Directory 集成身份验证。所以我尝试过:
jdbc_df = spark.read \\
.format(\"com.microsoft.sqlserver.jdbc.spark\") \\
.option(\"url\", \"jdbc:sqlserver://my_server_name.database.windows.net:1433\") \\
.option(\"database\",\"my_db_name\") \\
.option(\"dbtable\", \"my_table_or_query\") \\
.option(\"authentication\", \"ActiveDirectoryIntegrated\") \\
.option(\"encrypt\", \"true\") \\
.option(\"hostNameInCertificate\", \"*.database.windows.net\") \\
.load()
我也尝试过相同的方法,但语法不同
jdbcUrl = \"jdbc:sqlserver://my_server_name.database.windows.net:1433;database=my_db_name;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;Authentication=ActiveDirectoryIntegrated\"
pushdown_query = \"SELECT col1 FROM my_table_name\"
connectionProperties = {
\"driver\" : \"com.microsoft.sqlserver.jdbc.SQLServerDriver\"
}
df = spark.read.jdbc(url=jdbcUrl, table=pushdown_query)
display(df)
在这两种情况下我都会出错
IllegalArgumentException:KrbException:找不到默认领域
我做错了什么?
标签: python apache-spark pyspark azure-active-directory azure-sql-database