繁体   English   中英

了解 Google Cloud DataFlow Worker 中的线程

[英]Understanding Threading in Google Cloud DataFlow Workers

我做了一个等待 60 秒的简单程序。 我有 300 个输入元素要处理。

线程数 - Batch - 1 和 Streaming - 300 每本文档https://cloud.google.com/dataflow/docs/resources/faq#beam-java-sdk

  1. 在流模式下 - 有 1 个工作人员和 300 个线程,考虑到产生工作人员等的开销,作业应该在 2 到 3 分钟内完成。我的理解是 300 个输入元素中的每一个将有 300 个线程,并且全部睡眠 60 秒和工作应该完成。 但是,这项工作需要更多时间才能完成。

  2. 同样,在具有 1 个工作器(1 个线程)和 300 个输入元素的批处理模式下,应该需要 300 分钟才能完成。

有人可以澄清这在工人层面是如何发生的吗?

启动和拆除工作虚拟机有相当大的开销,因此很难从像这样的简短实验中概括出来。 此外,没有 promise 将有给定数量的流或批处理工作人员,因为这是一个依赖于实现的参数,我可以随时为任何跑步者更改(实际上甚至可以动态选择)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM