【问题标题】:What environment_config for Beam launching flinkBeam 启动 flink 的 environment_config 是什么
【发布时间】:2019-11-05 19:23:07
【问题描述】:

我希望获得有关在运行 Beam wordcount.py 演示时如何设置 --environment_config 的指导。

它与 DirectRunner 一起运行良好。 Flink 的 wordcount 也运行良好(即通过flink run 运行 Flink)。

我想使用 Flink 运行器运行 Beam,使用 beam documentation 中描述的“单独的 Flink 集群”。我用不了Docker,所以打算用--environment_type=PROCESS

我在 python 代码中使用以下内容来设置 environment_config:

  environment_config = dict()
  environment_config['os'] = platform.system().lower()
  environment_config['arch'] = platform.machine()
  environment_config['command'] = 'ls'
  ec = "--environment_config={}".format(json.dumps(environment_config))

显然命令不正确。当我运行它时,Flink 确实接收并成功处理了 DataSource 子任务。它最终在CHAIN MapPartitions 上超时。

有人可以提供有关如何设置 environment_config 的指导(或链接)吗?我在 Singularity 容器中运行 Beam。

【问题讨论】:

    标签: apache-flink apache-beam


    【解决方案1】:

    对于 environment_type=DOCKER,几乎所有事情都会为您处理好,但在进程模式下,您必须自己进行大量设置。您要查找的命令是sdks/python/container/build/target/launcher/linux_amd64/boot。您将需要拥有该可执行文件(您可以使用 ./gradlew :sdks:python:container:build 从源代码构建)和 Python 安装,包括 Beam 和所有工作机器上的其他依赖项。

    我知道的最好的例子在这里:https://github.com/apache/beam/blob/cbf8a900819c52940a0edd90f59bf6aec55c817a/sdks/python/test-suites/portable/py2/build.gradle#L146-L165

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 2017-09-20
    • 2020-10-06
    相关资源
    最近更新 更多