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

Docker环境下Bitnami Spark镜像连接GCS证书读取失败及解决方案

在Docker Spark容器中读写GCS时证书文件找不到的问题及解决

问题描述

  • 环境:Bitnami Spark 3.5.1镜像,gcs-hadoop3-connector 2.2.20
  • 已完成操作:安装gcs-hadoop3-connector jar、spark-bigquery jar,创建SparkSession时配置了以下参数:
    google.cloud.auth.service.account.enable: true
    google.cloud.auth.service.account.json.keyfile: <path-to-key.json>
    
  • 异常情况:Spark会话初始化成功,但执行GCS写入操作时抛出java.io.FileNotFoundException,提示找不到credential_key.json。尝试将证书放在本地机器、主容器、worker容器均无效,无法确定Spark的证书查找路径。
    写入示例代码:
    spark.createDataFrame(['a'],['b'],['c']).write.mode("overwrite").parquet('gs://path/to/output')
    

解决方法

问题已解决,核心是要通过hadoopConfiguration配置证书路径,而非直接在SparkSession参数中设置。具体代码如下:

spark._jsc.hadoopConfiguration().set("google.cloud.auth.service.account.json.keyfile","<path_to_your_credentials_json>")

注意:配置的路径必须指向容器内部的证书文件位置,设置完成后即可正常读写GCS存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 08:30:17