现有数据集的 BigQuery API 查询作业返回 404
Posted
技术标签:
【中文标题】现有数据集的 BigQuery API 查询作业返回 404【英文标题】:BigQuery API query job return 404 for existing dataset 【发布时间】:2020-06-10 12:02:43 【问题描述】:我在 Python 中使用 BigQuery API 时遇到了问题。
我已经设置了一个 bigquery 客户端
bigquery.Client(credentials=credentials, project=project_id, location=location)
它像预期的那样工作。
datasets = list(client.list_datasets())
返回项目中的数据集列表。
%%bigquery --project project_id df
SELECT *
FROM `cached.csv_reports_sessions_report`
Magics 请求有效并创建所需的数据框。
但是,如果我尝试从这样的查询作业创建相同的数据框:
sql = """
SELECT *
FROM `cached.csv_reports_sessions_report`
LIMIT 100
"""
df = client.query(sql, project=project_id).to_dataframe()
我收到以下错误:404 Not found: Dataset project_id:cached was not found in location europe-west3。该位置是项目和数据集的正确位置。
我尝试过使用包含 project_id 的完整路径,如下所示:
project_id.cached.csv_reports_sessions_report
仍然得到同样的错误。
我做错了什么?
【问题讨论】:
【参考方案1】:我发现了问题。我已将我的位置声明为“europe-west3”,这是实际位置,但对于查询工作来说,它似乎太具体了。在简单地将位置声明为“欧盟”后,它开始正常工作
【讨论】:
以上是关于现有数据集的 BigQuery API 查询作业返回 404的主要内容,如果未能解决你的问题,请参考以下文章
通过 Google BigQuery API 将查询结果导出为 JSON
javascript HTTP Archive数据集的BigQuery查询示例。