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

使用Secret Scopes从Azure存储账户读取数据至Databricks失败求助

正确读取Azure Blob存储中Excel文件的方案

关键修正要点

  • Secret Scope名称:必须使用创建时的emailscontainerstorage,而非之前误写的emailstorageaccount
  • Blob存储域名:普通Blob存储应使用blob.core.windows.net,dfs.core.windows.net仅适用于ADLS Gen2存储

Scala 实现代码

// 替换为你的存储账户名和容器名
val storageAccountName = "你的存储账户名"
val containerName = "你的容器名"

// 正确获取存储密钥
val accessKey = dbutils.secrets.get(scope = "emailscontainerstorage", key = "claveaccesso")

// 配置Spark访问Blob存储
spark.conf.set(
  s"fs.azure.account.key.$storageAccountName.blob.core.windows.net",
  accessKey
)

// 读取Excel文件(需确保集群已安装spark-excel库)
val df = spark.read
  .format("com.crealytics.spark.excel")
  .option("header", "true") // 按需调整是否读取表头
  .option("inferSchema", "true")
  .load(s"wasbs://$containerName@$storageAccountName.blob.core.windows.net/文件路径/文件名.xlsx")

// 验证读取结果
df.show()

Python 实现代码

# 替换为你的存储账户名和容器名
storage_account_name = "你的存储账户名"
container_name = "你的容器名"

# 正确获取存储密钥
access_key = dbutils.secrets.get(scope="emailscontainerstorage", key="claveaccesso")

# 配置Spark访问Blob存储
spark.conf.set(
  f"fs.azure.account.key.{storage_account_name}.blob.core.windows.net",
  access_key
)

# 读取Excel文件(需确保集群已安装spark-excel库)
df = spark.read.format("com.crealytics.spark.excel") \
  .option("header", "true") \
  .option("inferSchema", "true") \
  .load(f"wasbs://{container_name}@{storage_account_name}.blob.core.windows.net/文件路径/文件名.xlsx")

# 验证读取结果
df.display()

额外注意事项

  • 需在Databricks集群中安装Excel处理依赖库,例如com.crealytics:spark-excel_2.12:0.14.0(版本需匹配集群Spark版本)
  • 若使用ADLS Gen2存储,才需切换为dfs.core.windows.net域名,且需对应调整身份验证方式(如OAuth、SAS令牌)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:20:54