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

在Python Jupyter Notebook中运行BigQuery SQL查询报错如何解决?

问题排查与解决方案

错误根因

bigquery.Client()的第一个位置参数为GCP项目ID,而非服务账号密钥路径,直接传入文件路径的写法不符合SDK参数规范,因此SDK无法识别到指定的密钥,会尝试读取默认凭证,最终触发报错。
修改客户端初始化逻辑后,原有后续的查询、转Dataframe代码无需调整即可正常运行。

可行解决方案

  • 方案1:通过类方法直接加载密钥构造客户端,无需额外导入依赖
from google.cloud import bigquery

# 替换为你的密钥文件路径即可
bqclient = bigquery.Client.from_service_account_json('c://folder/client_account.json')
  • 方案2:显式构造凭证对象后传入客户端,适合需要自定义凭证权限的场景
from google.cloud import bigquery
from google.oauth2 import service_account

credentials = service_account.Credentials.from_service_account_file(
    'c://folder/client_account.json'
)
# 可额外传入project参数指定项目ID,不填则默认使用密钥绑定的项目
bqclient = bigquery.Client(credentials=credentials)
  • 方案3:提前设置环境变量,后续客户端初始化无需传参
    可直接在Jupyter Notebook开头运行以下代码配置环境变量:
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "c://folder/client_account.json"

from google.cloud import bigquery
bqclient = bigquery.Client()

额外注意事项

如果调用to_dataframe时出现BigQuery Storage API相关报错,可先安装对应依赖:

pip install google-cloud-bigquery-storage pyarrow

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:24:04