数据流作业在 CPU 利用率达到 ~100% 后反复停止虚拟机并启动另一个虚拟机,而不是并行工作

问题描述 投票:0回答:1

我有一个批处理数据流作业,它从 Bigquery 读取一些列,将它们转换为 beam.Row 格式,然后并行地为每列应用 SqlTransform。我将工人数量设置在 1 到 5 之间。

我不知道为什么作业只启动一台虚拟机,CPU 利用率达到 80% 以上,然后停止虚拟机并打开另一台虚拟机。此模式会重复,直到执行最后一个 SqlTransform。 我尝试在转换为 beam.Row 后添加重新洗牌步骤以防止融合,但问题仍然存在。 我应该如何优化管道? [更新]:我怀疑当活动虚拟机 CPU 利用率达到 100% 时,吞吐量不足以触发并行创建新虚拟机。

以下是图表:

google-cloud-dataflow apache-beam
1个回答
0
投票

虚拟机很可能因为运行状况不佳而被终止。

© www.soinside.com 2019 - 2024. All rights reserved.