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

Databricks Notebook访问GCP存储报元数据服务器访问令牌获取错误咨询

报错产生原因
  • 服务账号私钥配置不完整:你当前填写的spark.hadoop.fs.gs.auth.service.account.private_key值仅为--BEGIN,缺少完整的私钥内容,导致服务账号密钥认证失败,Spark自动回退到GCP实例元数据服务获取默认令牌,而Databricks社区版运行在AWS环境,无法访问GCP内网的元数据地址169.254.169.xxx,因此触发该报错。
  • 核心配置缺失:没有配置GCS文件系统的实现类参数spark.hadoop.fs.gs.impl,Spark无法正确识别gs://协议的处理逻辑,导致认证流程走默认的实例元数据路径。
  • 参数格式错误:你贴出的配置最后一行spark.hadoop.fs.gs.auth.service.account.private_key_id的末尾带有多余的```符号,会导致参数解析失败,所有GCS相关配置不生效。
  • 补充:你写的读取代码存在语法问题,format(csv)中的csv缺少引号,该问题不触发当前认证报错,但认证修复后会触发语法报错,需要同步修正。
对应解决方法
  • 补全完整的服务账号私钥:从GCP IAM控制台重新下载对应服务账号的JSON密钥文件,复制完整的private_key字段内容(包含开头的-----BEGIN PRIVATE KEY-----和结尾的-----END PRIVATE KEY-----),替换当前不完整的私钥配置,注意私钥字符串需要用引号完整包裹,保留内部的换行符。
  • 新增GCS连接器必要配置:在Spark参数中新增如下两个配置项:
spark.hadoop.fs.gs.impl com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem
spark.hadoop.fs.AbstractFileSystem.gs.impl com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS
  • 修正参数格式错误:删除spark.hadoop.fs.gs.auth.service.account.private_key_id参数值末尾多余的```符号,确保所有GCS相关配置的键值对都正确闭合,无多余字符。
  • 修正读取代码的语法问题:将代码调整为如下格式:
df = spark.read.format("csv").load("gs://test-gcs-doc-bucket-pr/test")
  • 所有配置修改完成后,重启Databricks集群,重新运行代码即可正常访问GCS存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 15:30:03