gpt4 book ai didi

google-cloud-dataflow - 是否可以使用自定义包运行 Cloud Dataflow?

转载 作者:行者123 更新时间:2023-12-01 12:37:44 28 4
gpt4 key购买 nike

是否可以为 Dataflow 工作人员提供自定义包?
我想从计算内部输出到 Debian 打包的二进制文件。

编辑:需要明确的是,包配置非常复杂,仅将文件捆绑在 --filesToStage 中是不可行的。
解决方案应该包括在某个时候安装 Debian 软件包。

最佳答案

这不是 Dataflow 明确支持的内容。但是,以下是有关如何完成此操作的一些建议。请记住,服务中的事情可能会发生变化,这可能会在 future 打破这种情况。

有两个不同的问题:

  • 将 debian 包安装到 worker 上。
  • 安装 debian 包。

  • 对于第一个问题,您可以使用 --filesToStage 并指定 debian 软件包的路径。这将导致包被上传到 GCS,然后在启动时下载到工作器。如果使用此选项,则必须将所有 jar 也包含在 --filesToStage 的值中,因为如果您明确设置 --filesToStage,默认情况下它们将不会包含在内。

    在 Java Worker 中,任何传入 --filesToStage 的文件都将在以下目录(或其子目录)中可用
    /var/opt/google/dataflow

    或者
    /dataflow/packages

    您需要检查这两个位置以确保找到该文件。

    我们不保证这些目录在 future 不会改变。这些只是今天使用的位置。

    要解决第二个问题,您可以覆盖 StartBundle在您的 DoFn .从这里开始,您可以在/dataflow/packages 中找到 debian 软件包后,转到命令行并安装它。

    您的 DoFn 可能有多个并行运行的实例,因此如果两个进程尝试同时安装您的软件包,您可能会遇到争用问题。我不确定 debian 软件包系统是否可以处理这个问题,或者您需要在代码中明确地处理这个问题。

    这种方法的一个轻微变体是不使用 --filesToStage 将包分发给您的工作人员,而是将代码添加到您的 startBundle 以从某个位置获取它。

    关于google-cloud-dataflow - 是否可以使用自定义包运行 Cloud Dataflow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28095433/

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