gpt4 book ai didi

sql-server - 从 Azure Synapse Analytics Spark 池连接到 Azure SQL 数据库

转载 作者:行者123 更新时间:2023-12-03 00:38:14 24 4
gpt4 key购买 nike

有人幸运地从 Azure Synapse Analytics 配置的 Spark 池连接到 Azure SQL 数据库吗?

问题 1:

我已上传 Spark SQL 连接器 https://github.com/microsoft/sql-spark-connector作为工作区库并链接到 Spark 池。安装此程序会在尝试启动 Spark Pool session 时导致错误。我收到一个李维错误。在“监视器”部分中,错误为:

This application failed due to the total number of errors: 1.
Error code 1
LIBRARY_MANAGEMENT_FAILED

Message
[...] Cleaning up the Spark service job because the cluster has failed.

编辑:这实际上可以无缘无故地在另一个 Spark Pool 上运行。我不知道根本原因,但我能够在另一个池上运行它。

问题 2:我正在尝试使用 TokenLibrary使用 Azure SQL 链接服务。这段代码:

conn = TokenLibrary.getConnectionString("MyAzureSQLDev")
print(conn)

显示看起来像 Base64 加密的 JWT token 以及一些未知字符的内容。这不是连接字符串。

我正在寻找任何可行的解决方案。

最佳答案

TokenLibrary.getConnectionString("MyAzureSQLDev") 返回工作区身份 (MSI) 的访问 token 。为了使用 token 并写入数据库,我将 sql-spark-connector 上传到工作区包并编写了以下代码:

df.write.format("com.microsoft.sqlserver.jdbc.spark") \
.option("url", "jdbc:sqlserver://%s.database.windows.net:%d" % (sql_server_name, db_port)) \
.option("dbtable", db_table) \
.option("accessToken", mssparkutils.credentials.getConnectionStringOrCreds("MyAzureSQLDev")) \
.option("encrypt", "true") \
.option("databaseName", db_name) \
.option("hostNameInCertificate", "*.database.windows.net") \
.mode("append") \
.save()

必须通过以下方式将工作区标识添加到 Azure SQL 数据库:

CREATE USER [your workspace identity] FROM EXTERNAL PROVIDER;

但是...

...当前发布的 sql-spark-connector 版本(2020 年 11 月起的版本 1.0.1;请参阅 here )与 Azure 使用的 Spark 2.4 当前版本不兼容突触分析。主要问题在于 SQL Server 驱动程序的版本 - Azure Synapse 上的 Spark 2.4 提供版本 8.4.1.jre8,而 spark-mssql-connector:1.0.1 取决于版本 7.2.1.jre8 。因此,在 Azure Synapse 上安装 spark-mssql-connector:1.0.1 并运行上面的代码在将批量数据写入数据库时​​会产生 NoSuchMethodError

尽管 spark-mssql-connector 已经几个月没有发布了,但它仍在积极开发中,并且已于 2021 年 3 月添加了对 Azure Synapse 上的 Spark 2.4 的适当支持。我构建了来自源代码的最新版本,并使用生成的 jar 而不是 Maven 存储库上的 jar。

关于sql-server - 从 Azure Synapse Analytics Spark 池连接到 Azure SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66597110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com