【问题标题】:Can I configure a Dataflow job to be single threaded?我可以将 Dataflow 作业配置为单线程吗?
【发布时间】:2020-07-05 03:37:26
【问题描述】:

我试图配置和部署真正单线程的 Cloud Dataflow 作业,以避免在数据存储区中创建/更新实体时出现并发问题。我假设使用 n1-standard-1 机器可以确保作业在单线程上运行,在单台机器上运行,但我发现事实并非如此。

我在这里查看了之前查询中提到的建议-Can I force a step in my dataflow pipeline to be single-threaded (and on a single machine)?

但我想避免围绕此实施窗口化方法,并想知道是否有更简单的方法来简单地配置作业以确保单线程行为。

任何建议或见解将不胜感激

【问题讨论】:

  • 您是否处于流媒体模式(PubSub 源)?还是批处理模式?
  • 如果您使用的是无限源,则无论如何都需要一个窗口。请让我知道有关您的管道的更多详细信息
  • 我使用 Kafka 作为我的流媒体源。

标签: google-cloud-platform concurrency pipeline dataflow single-threaded


【解决方案1】:

我最近了解到单线程行为是通过使用 n1-standard-1 的单个工作程序以及另外使用以下 exec_arg --numberOfWorkerHarnessThreads=1 来保证的,因为这也将 JVM 线程数限制为 1 .

【讨论】:

  • 是添加 exec_arg --numberOfWorkerHarnessThreads=1 解决了它
  • 我也有同样的问题。现在我明白需要做什么了。谢谢。
猜你喜欢
  • 2011-07-22
  • 2018-02-17
  • 1970-01-01
  • 1970-01-01
  • 2013-11-14
  • 2013-01-22
  • 1970-01-01
  • 2023-03-29
  • 2017-12-01
相关资源
最近更新 更多