使用 Python Pycharm 在 Big Query 中查询公共数据集

Posted

技术标签:

【中文标题】使用 Python Pycharm 在 Big Query 中查询公共数据集【英文标题】:Query Public Data Sets in Big Query using Python Pycharm 【发布时间】:2018-05-14 00:26:48 【问题描述】:

我想从 Google 大查询中检索数据。但是我没有进行用户身份验证。这是我收到的信息。

“拒绝访问:项目 bigquery-public-data:用户 sajith-sudhi@adroit-marking-183823.iam.gserviceaccount.com 在项目 bigquery-public-data 中没有 bigquery.jobs.create 权限”

代码如下:

from google.cloud import bigquery
from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file(
    'NYCTaxi-c81bd00c9864.json')
project_id = 'bigquery-public-data'
client = bigquery.Client(credentials= credentials,project=project_id)

query_job = client.query("""
  SELECT *
  FROM new_york.tlc_yellow_trips_2016
  LIMIT 1000""")
results = query_job.result()  # Waits for job to complete.

【问题讨论】:

【参考方案1】:

在下面一行你应该设置你自己的项目

project_id = 'bigquery-public-data'

所以它会像

project_id = 'your_project'

并且在查询本身中,您应该添加如下项目

query_job = client.query("""
  SELECT *
  FROM `bigquery-public-data.new_york.tlc_yellow_trips_2016`
  LIMIT 1000""")

【讨论】:

文件“C:\Users\Sajith\AppData\Local\Enthought\Canopy\User\lib\site-packages\google\cloud_http.py”,第 293 行,在 api_request 中引发异常。from_http_response(响应)google.api_core.exceptions.NotFound:404 POST googleapis.com/bigquery/v2/projects/nyctaxi/jobs:未找到:nyctaxis 项目 nyctaxi你的项目名称吗?在我看来,它更像是可能的数据集名称 是项目名称 - 项目信息 项目名称 NYCTaxi 项目 ID adroit-marking-183823 项目编号 516454577864 使用 adroit-marking-183823 代替 :o) 项目名称 NYCTaxi 只是您在环境中识别的友好名称 这不再是原始问题!您需要确保您使用的任何用户 - 具有适当的权限 - 如果您是该项目的所有者 - 只需打开 IAM 并实现它

以上是关于使用 Python Pycharm 在 Big Query 中查询公共数据集的主要内容,如果未能解决你的问题,请参考以下文章

python环境搭建-pycharm2016软件注册码

是 C++ 语句的 Big-O 'delete [] Q;' O(1) 还是 O(n)?

PyCharm:测试的历史?

Python pycharm 常用快捷键

ubuntu下安装和配置pycharm和pyqt5

Python基础之PyCharm快捷键大全