Databricks 写回天蓝色突触错误

Posted

技术标签:

【中文标题】Databricks 写回天蓝色突触错误【英文标题】:Databricks write back to azure synapse error 【发布时间】:2021-06-19 04:28:02 【问题描述】:

以下是我的代码

df.write \
  .format("com.databricks.spark.sqldw") \
  .option("url", "jdbc:sqlserver://**********.sql.azuresynapse.net:1433;database=********") \
  .option("user","sqladminuser")\
 .option("password","***********") \
.option("forwardSparkAzureStorageCredentials", "true") \
  .option("dbTable", "dbo.testingoutfromdatabricks") \
  .option("tableOptions", "CLUSTERED COLUMNSTORE INDEX, DISTRIBUTION = HASH (_c0)") \
  .option("tempDir", "abfss://********@**********.dfs.core.windows.net/tempfolder/") \
  .save()

我收到以下错误。

无法验证外部位置,因为远程服务器返回错误:(403) Forbidden。 [错误代码 = 105215] [SQLState = S0001]

从 Azure synapse sql pool 中,我使用来自同一个 blob 存储的 COPY 命令,并成功加载表...有人遇到上述错误吗?

【问题讨论】:

【参考方案1】:

要解决此问题,请确保在尝试访问受保护的 Azure 存储时必须使用托管服务标识。

Storage Blob Data Contributor 角色分配给 Azure Synapse Analytics 服务器的托管标识。

更多详情,请参考Write Data from Azure Databricks to Azure Dedicated SQL Pool(formerly SQL DW) using ADLS Gen 2。

【讨论】:

以上是关于Databricks 写回天蓝色突触错误的主要内容,如果未能解决你的问题,请参考以下文章

Databricks:将数据框合并到 Azure 突触表中

使用 SSMS 从 Delta Lake Databricks 进行突触查询

为啥我不能从 azure data studio 或 databricks 查询突触无服务器视图?

如何提高 Databricks 性能?

如何在突触分析工作区的日志分析工作区中获取错误详细信息日志

是否可以通过 azure databricks 连接到无服务器 sql 池?