gpt4 book ai didi

python - Dataflow 中的自定义 Apache Beam Python 版本

转载 作者:太空狗 更新时间:2023-10-30 02:26:21 24 4
gpt4 key购买 nike

我想知道是否可以在 Google Dataflow 中运行自定义 Apache Beam Python 版本。公共(public)存储库中不可用的版本(截至撰写本文时:0.6.0 和 2.0.0)。例如,来自 Apache Beam 官方存储库的 HEAD 版本,或与此相关的特定标签。

我知道可以按照官方 documentation 中的描述打包自定义包(例如私有(private)本地包) .有回答的有questions这里介绍如何为其他一些脚本执行此操作。甚至还有一个 GIST guiding对此。

但我还没有设法获得在其官方存储库的主分支中可用的当前 Apache Beam 开发版本(或标记的版本)以打包并与我的脚本一起发送到 Google Dataflow。例如,对于最新的可用标签,PiP 处理的链接为:git+https://github.com/apache/beam.git@v2.1.0-RC2#egg=apache_beam[gcp]&subdirectory =sdks/python 我得到这样的东西:

INFO:root:Executing command: ['.../bin/python', '-m', 'pip', 'install', '--download', '/var/folders/nw/m_035l9d7f1dvdbd7rr271tcqkj80c/T/tmpJhCkp8', 'apache-beam==2.1.0', '--no-binary', ':all:', '--no-deps']
DEPRECATION: pip install --download has been deprecated and will be removed in the future. Pip now has a download command that should be used instead.
Collecting apache-beam==2.1.0
Could not find a version that satisfies the requirement apache-beam==2.1.0 (from versions: 0.6.0, 2.0.0)
No matching distribution found for apache-beam==2.1.0

有什么想法吗? (我想知道这是否可能,因为 Google Dataflow 可能已经修复了可以运行到官方发布版本的 Apache Beam 版本)。

最佳答案

我会在我一直在帮助的一个 Apache Beam 的 JIRA 上得到这个问题的答案时自己回答。

如果您想在 Google Cloud Dataflow 中使用自定义 Apache Beam Python 版本(即,使用 --runner DataflowRunner 运行管道,则必须在运行管道时使用选项 --sdk_location <apache_beam_v1.2.3.tar.gz>;其中 <apache_beam_v1.2.3.tar.gz> 是您要使用的相应打包版本的位置。

例如,在撰写本文时,如果您已经 checkout HEAD Apache Beam 的 git 版本 repository ,您必须先通过使用 cd beam/sdks/python 导航到 Python SDK 来打包存储库然后运行 ​​python setup.py sdist (将在 dist 子目录中创建一个压缩的 tar 文件)。

此后您可以像这样运行管道:

python your_pipeline.py [...your_options...] --sdk_location beam/sdks/python/dist/apache-beam-2.2.0.dev0.tar.gz

Google Cloud Dataflow 将使用提供的 SDK。

关于python - Dataflow 中的自定义 Apache Beam Python 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45348986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com