【问题标题】:Query Public Data Sets in Big Query using Python Pycharm使用 Python Pycharm 在 Big Query 中查询公共数据集
【发布时间】: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.

【问题讨论】:

    标签: python google-bigquery bigdata


    【解决方案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 并实现它
    猜你喜欢
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多