配额
Dataflow 代管式服务具有以下配额限制:
- 每个用户每分钟最多可以发出 300 万个请求。
- 每个 Dataflow 作业最多可使用 1000 个 Compute Engine 实例。
- 每个 Google Cloud 项目可运行 25 个并发的 Dataflow 作业。
- 如果您选择接受组织级别的配额,则每个组织可以运行 125 个并发的 Dataflow 作业。
- 每个用户每分钟最多可以发出 15000 个监控请求。
- 每个 Google Cloud 项目在各个地区可拥有以下数量的 Shuffle 槽:
- asia-east1:48 个槽
- europe-west1:160 个槽
- europe-west4:128 个槽
- northamerica-northeast1:24 个槽
- us-central1:160 个槽
- us-east1:48 个槽
- us-west1:48 个槽
- 其他:16 个槽
- 每个 Google Cloud Platform 项目在每个云地区的 Streaming Engine 吞吐量为每分钟 60 GB,以便在 Compute Engine 实例和 Streaming Engine 之间发送数据。
您可以查看 Dataflow 专用配额的当前使用情况:
- 在 Google Cloud Console 中,转到 API 和服务。
转到 API 和服务 - 点击信息中心。
- 点击 Dataflow API。
- 点击配额。
例如,如需查看当前的 Shuffle 槽配额使用情况,请查看“配额”页面上的 Shuffle 槽图表。
Dataflow 服务可以运用 Google Cloud 的多款产品,如 BigQuery、Cloud Storage、Pub/Sub 和 Compute Engine。这些产品(连同其他 Google Cloud 服务)通过配额来限制您可以在一个项目中使用的最大资源数量。在使用 Dataflow 时,您可能需要调整这些服务的配额设置。
Compute Engine 配额
在 Dataflow 服务上运行流水线时,Dataflow 会创建 Compute Engine 实例来运行流水线代码。
Compute Engine 配额按区域来指定。请查看您的项目的 Compute Engine 配额,并在需要时申请进行以下调整:
- CPU 数量:Dataflow 的默认机器类型为
n1-standard-1
(用于批处理)、n1-standard-2
(用于使用 Streaming Engine 的作业)和n1-standard-4
(用于不使用 Streaming Engine 的作业)。 FlexRS 默认使用n1-standard-2
机器。在 Beta 版阶段,FlexRS 使用 90% 的抢占式虚拟机和 10% 的常规虚拟机。Compute Engine 计算 CPU 数量的方式是将每个实例的 CPU 总数相加。例如,运行 10 个n1-standard-4
实例计为 40 个 CPU。请参阅 Compute Engine 机器类型,了解每种机器类型所对应的 CPU 个数。 - 使用中的 IP 地址数:项目使用中的 IP 地址数量必须足够容纳所需数量的实例。如需使用 10 个 Compute Engine 实例,您就需要有 10 个使用中的 IP 地址。
- 永久性磁盘:Dataflow 为每个实例都挂接了永久性磁盘。
- 用于批处理流水线的默认磁盘大小为 250 GB,用于流处理流水线的默认磁盘大小为 420 GB。对于 10 个实例,默认情况下,批处理作业需要 2500 GB 的永久性磁盘容量。
- 用于 Dataflow Shuffle 批处理流水线的默认磁盘大小为 25 GB。
- 用于 Streaming Engine 流处理流水线的默认磁盘大小为 30 GB。
- 代管实例组:Dataflow 会将您的 Compute Engine 实例作为代管实例组进行部署。您需要确保自己拥有以下相关配额:
- 每个 Dataflow 作业具有一个实例组
- 每个 Dataflow 作业具有一个代管实例组
- 每个 Dataflow 作业具有一个实例模板
其他配额
根据您正在使用的数据源和接收器,您可能还需要其他的配额。
- Pub/Sub:如果您使用的是 Pub/Sub,则可能需要其他的配额。在计划配额时,请注意,处理来自 Pub/Sub 的 1 条消息涉及到 3 项操作。如果您使用自定义时间戳,则应预见到操作次数会增加一倍,因为 Dataflow 将创建一个单独的订阅来跟踪自定义时间戳。
- BigQuery:如果您针对 BigQuery 使用流处理 API,则需遵守配额限制和其他限制。
限制
本节介绍 Dataflow 在正式使用环境下的实际限制。
限额 | 数量 |
---|---|
每个流水线的工作器数量上限。 | 1000 |
作业创建请求的大小上限。步骤很多且名称冗长的流水线说明可能会达到此限制。 | 10 MB |
辅助输入分片的数量上限。 | 2 万 |
Streaming Engine 中单个元素值的大小上限 | 100 MB |
每个工作器在指定时间段内生成的日志条目数量上限。 | 每 30 秒 15000 条消息 |