You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ADF从Azure Databricks Delta Lake复制数据到Azure SQL Server报错求助

问题描述

尝试使用Azure Data Factory(ADF)复制数据活动从Azure Databricks Delta Lake提取数据,无法直接传输至目标Azure SQL Server,需借助Azure Blob Storage中转,但执行时出现以下错误:

ErrorCode=AzureDatabricksCommandError,Hit an error when running the command in Azure Databricks. Error details: Failure to initialize configurationInvalid configuration value detected for fs.azure.account.key Caused by: Invalid configuration value detected for fs.azure.account.key

此前尝试过相关解决方案但未生效,需解决该问题以实现Delta Lake到Azure SQL Server的数据传输。

附相关截图:

  • ADF结构截图(提示需配置存储账户):ADF结构截图
  • 配置截图:配置截图
  • 执行失败截图1:执行失败截图1
  • 执行失败截图2:执行失败截图2
解决方案

1. 核对Blob存储账户密钥/令牌

  • 从Azure门户存储账户的「访问密钥」页面复制密钥1或密钥2,直接粘贴到ADF的Blob链接服务配置中,避免手动输入导致的字符错误。
  • 若用SAS令牌,确保令牌包含读、写、列表权限,有效期未过期,且是完整的SAS字符串(包含?开头的参数部分)。

2. 确认权限配置

  • 给ADF的托管标识(或服务主体)分配Blob存储容器的Storage Blob Data Contributor权限——普通的Contributor权限无法满足数据读写需求。
  • 在Databricks笔记本中执行测试命令,验证存储连接有效性:
dbutils.fs.mount(
  source = "wasbs://<容器名>@<存储账户名>.blob.core.windows.net",
  mount_point = "/mnt/testmount",
  extra_configs = {"fs.azure.account.key.<存储账户名>.blob.core.windows.net":"<存储账户密钥>"}
)

挂载失败则先解决Databricks侧的连接问题,再回到ADF测试。

3. 检查ADF中转存储配置

  • 进入ADF复制活动的「设置」选项卡,确认临时存储关联的Blob链接服务信息正确,无账户名或密钥错误。
  • 若中转用ADLS Gen2,注意用OAuth认证配置(如fs.azure.account.oauth2.client.id),不要混用账户密钥,否则会触发配置错误。

4. 尝试直接传输(跳过中转)

重新验证直接传输的可行性:

  • 确认Azure SQL链接服务的服务器名、数据库名、凭据有效,SQL Server防火墙已允许ADF访问(可启用「允许Azure服务和资源访问此服务器」)。
  • 复制活动中直接将目标设为Azure SQL Server,测试运行结果。

5. 清理Databricks集群冲突配置

登录Databricks集群,查看「Spark配置」,删除任何无效的fs.azure.account.key全局配置项——集群全局配置会覆盖ADF传递的参数,导致报错。

内容的提问来源于stack exchange,提问作者willy sepulveda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:15:39