【发布时间】:2020-11-11 20:38:08
【问题描述】:
我有一个函数可以从查询到 BigQuery 中检索 pandas 数据框,该函数在过去几个月中运行良好。 今天,在没有任何更改的情况下,它在 GoogleColab Notebooks 中停止工作并抛出此异常:
从 BigQuery 读取时发生了 ArrowIOError 类型的异常。 参数:('无法从 BufferReader.',)
我的代码:
def read_from_bigquery_client(bq_client, project_id, sql, curr_func):
try:
df = bq_client.query(sql, project=project_id).to_dataframe()
return df
except Exception as ex:
template = "An exception of type {0} occurred reading from BigQuery. Arguments:\n{1!r}\nFunction: {2}"
message = template.format(type(ex).__name__, ex.args, curr_func)
print(message)
return None
客户端验证:
credentials = service_account.Credentials.from_service_account_file(local_cred_filename)
bq_client = bigquery.Client(credentials=credentials,
project=credentials.project_id)
我尝试过的查询在直接应用于 BigQuery 时可以完美运行,而且它们之前也如上所述。
感谢您的帮助。
【问题讨论】:
-
嗨!您能否通过键入:
pip freeze分享 google-cloud-bigquery lib 版本?新版本(1.26.0)今天已经发布,可能会导致问题:pypi.org/project/google-cloud-bigquery/#history -
嗨!是的,它在 1.26.0 版本中。问题可能是由于版本更新,因为我刚刚尝试降级到版本 1.21.0 并且它工作正常。
标签: python google-bigquery google-colaboratory pyarrow