Apache Beam Pipeline (Dataflow) - 解释无界数据的执行时间



在梁流水线执行的数据流监控接口中,每个变换框中都指定了一个持续时间(请参阅 https://cloud.google.com/dataflow/pipelines/dataflow-monitoring-intf)。

对于有界数据,我理解这是完成转换所需的估计时间。但是,对于我的流式处理案例中的无限数据,我该如何解释这个数字?

我的一些转换的持续时间明显高于其他转换,这意味着转换需要更多时间。但是,关于这种不均匀分布如何影响我的执行,特别是如果我有一个窗口函数,还有其他影响是什么?

另外,这与自动缩放有关吗?例如,如果执行所需的时间超过某些阈值,是否会启动更多工作线程?还是自动缩放取决于输入的数据量?

在批处理和流式处理中,这是这些步骤在每个工作线程上处于活动状态的时间的度量。每台工作器计算机的线程数在批处理和流式处理之间有所不同,正如您注意到的那样,更多的工作线程意味着更多的工作线程。

没有任何实际影响 - 这些测量是作为了解工作线程花费大部分时间做什么的一种方式提供的。如果整个管道的行为似乎合理,则无需执行任何操作。如果您认为管道比预期的要慢,或者其中一个步骤似乎花费的时间比您预期的要长,则可以将这些步骤作为了解性能的起点。

从某种意义上说,这些类似于在各种功能上花费的时间配置文件如何用于提高正常程序的性能。对一个函数花费的时间比另一个函数长的时间没有任何影响,但它可能是有用的信息。

相关内容

最新更新