错误:模块“google.cloud.bigquery_storage”没有属性“BigQueryReadClient”
Posted
技术标签:
【中文标题】错误:模块“google.cloud.bigquery_storage”没有属性“BigQueryReadClient”【英文标题】:Error: module 'google.cloud.bigquery_storage' has no attribute 'BigQueryReadClient' 【发布时间】:2020-12-22 09:57:19 【问题描述】:如何解决这个错误?
错误:模块“google.cloud.bigquery_storage”没有属性 'BigQueryReadClient'
无法查询 BigQuery 表并将结果保存到 Pandas DataFrame。 包:
google-api-core==1.23.0
google-api-python-client==1.12.8
google-auth==1.23.0
google-auth-httplib2==0.0.4
google-auth-oauthlib==0.4.1
google-bigquery==0.14
google-cloud-bigquery==2.6.1
google-cloud-bigquery-storage==2.1.0
google-cloud-core==1.4.3
google-crc32c==1.0.0
google-resumable-media==1.1.0
googleapis-common-protos==1.51.0
grpcio==1.34.0
grpcio-gcp==0.2.2
pandas==1.1.5
pandas-gbq==0.13.2
pyarrow==2.0.0
查询:
def get_orders(bqclient,
project_id,
dataset_id,
orders_table_id,
datetime_start,
datetime_end):
query = f"""
SELECT *
FROM `project_id.dataset_id.orders_table_id`
WHERE
CreatedDatetime BETWEEN TIMESTAMP('datetime_start') AND TIMESTAMP('datetime_end')
"""
print(query)
orders = None
try:
query_job = bqclient.query(query)
orders = query_job.result().to_dataframe()
except Exception as exception:
print(f'Error while getting orders: exception')
finally:
return orders
【问题讨论】:
【参考方案1】:此代码看起来使用的是 google-cloud-bigquery 而不是 google-cloud-bigquery-storage。 bqclient
是如何创建的?是这样的吗?
from google.cloud import bigquery
bqclient = bigquery.Client()
尝试在您的代码中找到对BigQueryReadClient
的引用并将其删除。尝试删除google-cloud-bigquery-storage==2.1.0
【讨论】:
以上是关于错误:模块“google.cloud.bigquery_storage”没有属性“BigQueryReadClient”的主要内容,如果未能解决你的问题,请参考以下文章
“未找到模块:错误:无法解析模块”错误在 signrequest-client 角度