Google cloud dataflow 使用状态和计时器进行处理

Google cloud dataflow 使用状态和计时器进行处理,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,在Beam Dataflow runner(从v2.1.0开始)中使用有状态处理和计时器是否有任何指导原则或限制?诸如对状态大小或更新频率等的限制。?候选流管道将广泛使用状态和计时器作为用户会话状态,并使用Bigtable作为持久存储。以下是一些针对您的用例的一般建议 请聚合多个元素,然后设置计时器 请不要为每个元素创建一个计时器,这会过多 尝试聚合状态,而不是累积大量状态。也就是说,当试图计算平均值时,聚合为总和和计数,而不是存储每个数字 请考虑这个用例。 在数据流中,合并窗口不支持状态。这

在Beam Dataflow runner(从v2.1.0开始)中使用有状态处理和计时器是否有任何指导原则或限制?诸如对状态大小或更新频率等的限制。?候选流管道将广泛使用状态和计时器作为用户会话状态,并使用Bigtable作为持久存储。

以下是一些针对您的用例的一般建议

  • 请聚合多个元素,然后设置计时器
  • 请不要为每个元素创建一个计时器,这会过多
  • 尝试聚合状态,而不是累积大量状态。也就是说,当试图计算平均值时,聚合为总和和计数,而不是存储每个数字
  • 请考虑这个用例。
  • 在数据流中,合并窗口不支持状态。这是给梁的
  • 请根据您的访问模式使用状态,即盲写

这是一篇信息丰富的博文,提供了更多关于州的信息。“

谢谢。由于缺乏对ApacheBeam中带有合并窗口的有状态DoFn的支持,我正在考虑使用全局窗口并使用计时器清除状态。在数据流的全局窗口中保持“空”状态单元的开销有多大?Thomas我也有同样的问题,我也在考虑同样的问题。我一直在寻找附加到国家的TTL,但找不到它的任何地方。我可能必须手动执行此操作。