将 Compute Engine 预留与 Dataflow 搭配使用

为确保虚拟机资源在 Dataflow 作业需要时可用,您可以使用 Compute Engine 预留。预留为获取 Compute Engine 可用区级资源的容量提供了较高的保障。

如需将 Compute Engine 预留与 Dataflow 搭配使用,请执行以下步骤:

  1. 创建 Compute Engine 预留。它可以是单项目预留,也可以是共享预留。如需了解详情,请参阅以下文档:

    预留可以包含 GPU 或 TPU 加速器。

  2. 提交 Dataflow 作业时,请传递以下服务选项之一,具体取决于您使用的 Beam SDK 版本:

    • Beam 版本 < 2.29:--experiments=skip_gce_quota_verification
    • Beam 版本 >= 2.29:--dataflow_service_options=automatically_use_created_reservation

为了防止同一项目中的低优先级工作负载使用 Dataflow 进行预留争用,请在为这些工作负载创建虚拟机时将预留亲和性设置为 none。如需了解详情,请参阅使用预留实例

如需使用预留,Dataflow 工作器必须与预留配置匹配。您可能需要为作业设置工作器机器类型。如需了解详情,请参阅工作器

限制

  • 当 Dataflow 工作器使用预留时,需要遵循 Compute Engine 预留的所有限制。请参阅预留的工作原理

  • Dataflow 依赖于 Compute Engine 中的默认用量订单。因此,存在以下限制:

    • 同一项目或组织中未指定 --reservation 标志的其他工作负载可能会与 Dataflow 工作负载争用项目专用预留或共享预留。
  • Dataflow Prime 作业不会使用 Compute Engine 预留。

预留和加速器

Dataflow 支持使用加速器(GPU 或 TPU)的流水线的特定目标预留此功能通常通过许可名单提供。如需了解如何将 Dataflow 加速器与特定预留搭配使用,请与您的客户支持团队联系。

价格

在 Dataflow 作业运行期间,Dataflow 会针对从自动使用的预留中获取的虚拟机向您收取费用。当 Dataflow 不使用这些虚拟机时,Compute Engine 会向您收取费用。

Compute Engine 价格模式

如果您的 Dataflow 用量包含来自具有 GPU 或 TPU 的特定目标预留的虚拟机,则这些预留的虚拟机的计算资源将按照 Compute Engine 价格计费。如果您的特定目标的预留附加到 Compute Engine 基于资源的承诺,那么您还可以根据使用情况获得适用的基于资源的承诺使用折扣 (CUD)。您还需要为 Dataflow 中消耗的计算资源支付管理附加费。如需了解更多价格详情,请参阅 Dataflow 价格

Dataflow 价格模式

对于您与 Dataflow 搭配使用的任何其他类型的 Compute Engine 预留,您的使用情况将按照 Dataflow 价格模式进行结算。即使这些预留附加到基于资源的承诺,通过这些预留产生的 Dataflow 使用量也不符合基于资源的 CUD 的条件。此政策适用于以下 Compute Engine 预留:

  • 没有 GPU 或 TPU 的特定目标预留
  • 所有自动使用的预留

后续步骤

如需详细了解 Compute Engine 预留,请参阅 Compute Engine 可用区级资源的预留