通过Databricks从Azure DataLake读取数据并写入Google BigQuery
Databricks写入BigQuery时密钥文件找不到的解决办法
修正路径格式:报错里的
dbfs/tmp/gcpaccess.json路径缺少根标识,Spark无法识别。必须使用完整的DBFS路径dbfs:/tmp/gcpaccess.json,或者利用DBFS的本地挂载路径/dbfs/tmp/gcpaccess.json(Databricks节点本地可直接通过/dbfs访问DBFS内容)。验证服务账户与密钥:确认GCP服务账户拥有BigQuery写入所需权限(如
roles/bigquery.dataEditor、roles/bigquery.jobUser),同时检查JSON密钥文件内容无格式错误,上传后未被篡改。正确配置密钥路径:两种可行的配置方式:
- 全局Spark配置:
spark.conf.set("google.cloud.auth.service.account.json.keyfile", "/dbfs/tmp/gcpaccess.json") - 写入DataFrame时指定:
df.write.format("bigquery") \ .option("credentialsFile", "/dbfs/tmp/gcpaccess.json") \ .option("table", "你的项目ID.数据集ID.表名") \ .save()
- 全局Spark配置:
确认文件存在性:先执行命令验证文件位置正确:
dbutils.fs.ls("/tmp/gcpaccess.json")或本地终端命令:
ls /dbfs/tmp/gcpaccess.json
内容的提问来源于stack exchange,提问作者Namitha
相关产品推荐
相关产品推荐

