我正在尝试在DataflowRunner上测试我的数据流管道。我的代码总是在1小时1分钟时卡住,然后说:数据流似乎卡住了。在挖掘Dataflow stackdriver的堆栈跟踪时,我遇到了一个错误,即Failed to install packages: failed to install workflow: exit status 1
。我看到其他堆栈溢出消息说,这可能是由于pip包不兼容造成的。这导致我的worker启动总是失败。在
这是我的电流设置.py. 有人能帮我理解我缺少什么吗。作业id为2018-02-09_08_22_34-6196858167817670597。在
设置.py
from setuptools import setup, find_packages
requires = [
'numpy==1.14.0',
'google-cloud-storage==1.7.0',
'pandas==0.22.0',
'sqlalchemy-vertica[pyodbc,turbodbc,vertica-python]==0.2.5',
'sqlalchemy==1.2.2',
'apache_beam[gcp]==2.2.0',
'google-cloud-dataflow==2.2.0'
]
setup(
name="dataflow_pipeline_dependencies",
version="1.0.0",
description="Beam pipeline for flattening ism data",
packages=find_packages(),
install_requires=requires
)
我不是处理很多Python包以及如何管理所有版本、不兼容以及每个包的需求和需求的天才。在
但是,我可以读取错误消息。在
在您的例子中,消息显示“failed to install workflow”。在谷歌上快速搜索之后,我发现“workflow”实际上是一个Python包。在
因此,错误只是抱怨您没有安装
workflow
,并且它的尝试失败了。在要解决此问题:
workflow
。这是谷歌给我看的最新版本。在或
pip install workflow
。在任何一种方法都应该安装所需的包。 一旦安装好,那个特定的错误信息就会消失。在
我希望这个答案对你有帮助!在
因此,我发现在本例中,工作流不是一个pypi包,而是由包含源代码的Dataflow创建的.tar的名称。数据流将压缩源代码并创建工作流.tar文件,然后它将尝试运行pip install工作流.tar. 如果这个安装过程中出现任何问题,它将无法将包安装到工人上。在
我的问题通过以下几点解决了:1)我在我的需求中添加了6==1.10.0,正如我从中发现的:工作流失败。原因:(35af2d4d3e5569e4):数据流似乎卡住了,最新版本的six有问题。2) 我意识到sqlalchemy vertica和sqlalchemy不同步,并且存在依赖版本问题。因此,我不再需要这两个,而是找到了一个不同的vertica客户。在
在
setup.py
所需的包中包含“workflow”包。包含错误后解决。在相关问题 更多 >
编程相关推荐