首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ArrowIOError使用库(Python)从BigQuery中读取

ArrowIOError使用库(Python)从BigQuery中读取
EN

Stack Overflow用户
提问于 2020-07-22 10:13:55
回答 3查看 638关注 0票数 1

我有一个函数可以从对BigQuery的查询中检索熊猫的数据,这个查询在过去几个月里运行得很好。今天,在没有任何更改的情况下,它在引发此异常的GoogleColab记事本中停止工作:

从ArrowIOError读取时发生了BigQuery类型的异常。参数:(“无法从BufferReader读取负数字节”)

我的代码:

代码语言:javascript
代码运行次数:0
运行
复制
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

客户Auth:

代码语言:javascript
代码运行次数:0
运行
复制
credentials = service_account.Credentials.from_service_account_file(local_cred_filename)
bq_client = bigquery.Client(credentials=credentials,
                            project=credentials.project_id)

当直接应用于BigQuery时,我尝试过的查询工作得很好,另外,正如前面提到的那样,这些查询也能正常工作。

谢谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-07-23 09:59:40

新版本 (1.26.0)的google-cloud-bigquery库已于7月22日发布。它可能会发生问题,但还没有被发现。相应版本的类似问题已经在Github上报告过,您可以在这里跟踪更新。此外,请报告您所遇到的错误以及。

就目前而言,ArrowIOError的解决办法是降低google-cloud-bigquery库的版本。

票数 0
EN

Stack Overflow用户

发布于 2020-09-28 10:36:16

我将google-cloud-bigquery的版本降到了1.24.0,但错误仍然是完整的。其他版本有:

代码语言:javascript
代码运行次数:0
运行
复制
pyarrow==0.11.1
pandas==0.23.4
pandas-gbq==0.7.0
google-cloud-bigquery==1.24.0
票数 0
EN

Stack Overflow用户

发布于 2021-06-28 16:03:52

我也面临着同样的问题,直到我升级了我的熊猫包,显然我从文档中看到,超过0.29.0的熊猫版本可以很好地使用google-cloud-bigquery

更新大熊猫的最佳方法是:

代码语言:javascript
代码运行次数:0
运行
复制
pip3 install --upgrade pandas
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63031898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档