使用Dataflow的熊猫read_gbq初始化错误

时间:2019-05-20 19:13:17

标签: pandas python-2.7 google-bigquery google-cloud-dataflow

我一直在使用使用pandas库的Python运行数据流作业。它突然开始失败并出现以下错误:

  

文件“ /usr/local/lib/python2.7/dist-packages/pandas_gbq/auth.py”,第305行,在_try_credentials中       客户端= bigquery.Client(project = project_id,凭据=凭据)

     

init 中的文件“ /usr/local/lib/python2.7/dist-packages/google/cloud/bigquery/client.py”,第161行       self._connection =连接(self,client_info = client_info)

     

init 中的文件“ /usr/local/lib/python2.7/dist-packages/google/cloud/bigquery/_http.py”,第33行       超级(连接,自我)。初始化(客户端,client_info)

     

TypeError: init ()恰好接受2个参数(给定3个参数)

此步骤失败:

import pandas as pd  
data = pd.read_gbq(query=query, project_id=project, dialect='standard', private_key=credentials)

我的安装文件如下:

install_requires=[
   'google-cloud-storage==1.11.0',
   'requests==2.19.1',
   'urllib3==1.23',
   'pandas-gbq==0.6.1',
   'pandas==0.23.4',
   'protobuf==3.6.0'
    ]

这与我的代码在其中运行的本地版本相同。 开始失败时,尚未对作业进行任何更改。它在本地成功运行,但是当我使用Dataflowrunner运行时,我看到了问题。我认为这是一个依赖性问题。我使用的任何软件包版本都有记录的问题吗?还是我需要添加到安装文件中的特定软件包版本?

1 个答案:

答案 0 :(得分:0)

我必须在安装文件中添加BigQuery版本。

'google-cloud-bigquery==1.6.0'

根据Google documentation(适用于Python SDK 2.5),数据流工作程序已安装BigQuery 0.25.0。由于我以前没有指定版本,所以我假设这就是我的工作。如果该版本的BigQuery出现问题,我仍然不确定为什么该错误只是最近才开始发生。无论如何,指定1.6.0即可解决该问题。