【问题标题】:bigquery, extract_table AttributeError: 'Client' object has no attribute 'dataset'bigquery,extract_table AttributeError:“客户端”对象没有属性“数据集”
【发布时间】:2018-11-23 14:42:24
【问题描述】:

我的问题是关于提取表的代码 从 Bigquery 中提取表并将其保存为 json 文件 . 我主要是按照他们文档中的 gcloud 教程来编写代码的。

我无法隐式设置我的凭据,因此我以显式方式将其设置为我的 json 文件。但它似乎并没有完全按照我所走的路径获得“客户端”对象。

如果有人能澄清整个隐式和显式凭据的工作原理,那也会对我有很大帮助!

我正在使用 python 2.7 和 pycharm。代码如下:

from gcloud import bigquery
from google.cloud import storage
def bigquery_get_rows ():

    json_key = "path/to/my/json_file.json"
    storage_client = storage.Client.from_service_account_json(json_key)
    print("\nPeguei o Cliente\n")

    # Make an authenticated API request
    buckets = list(storage_client.list_buckets())
    print(buckets)
    print(storage_client)

    #Setando ambiente
    bucket_name = 'my_bucket/name'
    print(bucket_name)
    destination_uri = 'gs://{}/{}'.format(bucket_name, 'my_table_json_name.json')
    print(destination_uri)
    #dataset_ref = client.dataset('samples', project='my_project_name')
    dataset_ref = storage_client.dataset('my_dataset_name', project='my_project_id')
    print(dataset_ref)
    table_ref = dataset_ref.table('my_table_to_be_extracted_name')
    print(table_ref)

    job_config = bigquery.job.ExtractJobConfig()
    job_config.destination_format = (
        bigquery.DestinationFormat.NEWLINE_DELIMITED_JSON)

    extract_job = client.extract_table(
        table_ref, destination_uri, job_config=job_config)  # API request
    extract_job.result()  # Waits for job to complete.

bigquery_get_rows()

【问题讨论】:

    标签: python google-bigquery gcloud


    【解决方案1】:

    您使用了错误的客户端对象。您尝试使用 gcs 客户端来处理 bigquery。

    代替

    dataset_ref = storage_client.dataset('my_dataset_name', project='my_project_id')
    

    应该是:

    bq_client = bigquery.Client.from_service_account_json(
        'path/to/service_account.json')
    dataset_ref = bq_client.dataset('my_dataset_name', project='my_project_id')
    

    【讨论】:

      猜你喜欢
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-15
      • 2021-07-28
      • 2016-04-03
      • 1970-01-01
      相关资源
      最近更新 更多