我一直在使用使用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运行时,我看到了问题。我认为这是一个依赖性问题。我使用的任何软件包版本都有记录的问题吗?还是我需要添加到安装文件中的特定软件包版本?
答案 0 :(得分:0)
我必须在安装文件中添加BigQuery版本。
'google-cloud-bigquery==1.6.0'
根据Google documentation(适用于Python SDK 2.5),数据流工作程序已安装BigQuery 0.25.0。由于我以前没有指定版本,所以我假设这就是我的工作。如果该版本的BigQuery出现问题,我仍然不确定为什么该错误只是最近才开始发生。无论如何,指定1.6.0即可解决该问题。