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

Databricks连接Azure ADLS Gen2时SAS令牌配置报错排查

错误原因及修复建议

核心问题:存储账户名拼写不一致

你配置的三个Spark参数中,存储账户的域名存在拼写差异:

  • 前两个参数使用的是 adlsprexxxxx.dfs.core.windows.net
  • 第三个参数使用的是 adlsprexxxx.dfs.core.windows.net(比前两个少一个x)

Spark的ADLS Gen2配置是按存储账户名绑定的,账户名不匹配会导致系统无法找到对应fs.azure.account.auth.type的配置项,直接触发CONFIG_NOT_AVAILABLE错误。这是最可能的触发原因。

其他可能的诱因

  1. 依赖包缺失/版本不兼容
    如果你的Spark环境未正确包含hadoop-azure、azure-storage-blob等ADLS Gen2相关依赖,或者依赖版本与Spark/Hadoop版本不匹配,会导致无法识别这类Azure存储配置参数。

  2. 配置加载时机错误
    若你是在SparkSession创建完成后才设置这些参数,部分运行环境可能无法动态加载新配置,需要在初始化SparkSession时就传入这些配置。

修复步骤

  1. 统一账户名:将三个参数中的存储账户域名修改为完全一致的字符串,确保无拼写差异。
  2. 检查依赖:确认环境中已包含对应版本的Hadoop Azure依赖包,比如Spark 3.3.x搭配Hadoop 3.3.x版本的hadoop-azure包。
  3. 调整配置时机:尝试在初始化SparkSession时直接传入配置,示例代码:
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("ADLS_Gen2_SAS_Connection") \
    .config("fs.azure.account.auth.type.adlsprexxxxx.dfs.core.windows.net", "SAS") \
    .config("fs.azure.sas.token.provider.type.adlsprexxxxx.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.sas.FixedSASTokenProvider") \
    .config("fs.azure.sas.fixed.token.adlsprexxxxx.dfs.core.windows.net", "sv=2024-11-04&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2025-08-16T18:19:19Z&st=2025-08-16T10:04:19Z&spr=https,http&sig=wI1gv8MdXkxAhe7BusFyvFkUT5sHDx7%2BCBBfzVKOxxxk%3D") \
    .getOrCreate()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 12:54:56