当输入元素在DoFn的侧面输出中具有标志值时,是否有办法关闭窗口?例如。表示关闭会话的事件关闭窗口。基于元素值之后的关闭窗口
我一直在阅读文档,触发器大多数时间基于。一个例子会很棒。
编辑:Trigger.OnElementContext.forTrigger(ExecutableTrigger触发器)似乎很有前途,但ExecutableTrigger文档目前非常苗条。
当输入元素在DoFn的侧面输出中具有标志值时,是否有办法关闭窗口?例如。表示关闭会话的事件关闭窗口。基于元素值之后的关闭窗口
我一直在阅读文档,触发器大多数时间基于。一个例子会很棒。
编辑:Trigger.OnElementContext.forTrigger(ExecutableTrigger触发器)似乎很有前途,但ExecutableTrigger文档目前非常苗条。
我不认为这是可用的。现在只有一个数据驱动触发器,elementCountAtLeast。
https://cloud.google.com/dataflow/model/triggers#data-driven-triggers
用于这项工作各地将复制会话窗口功能代码,编写自定义窗口的功能。
总之,你把分配元素融入同一窗口,直到您看到您的终端元素。然后开始创建一个新窗口。
目前,没有方法来触发关闭一个元素的内容,很遗憾。来自Apache Beam Docs:
梁提供了一个数据驱动触发器,
AfterPane.elementCountAtLeast()
。这个触发器在元素计数上工作;它会在当前窗格收集至少N个元素之后触发。
当前有一个open ticket更强大的数据驱动程序触发器。然而(同样,目前来看),看起来Beam团队正在逐个填写数据驱动触发器的用例(即元素数或时间戳),而不是增加基于广泛的支持来触发任意值在一个元素内。
ExecutableTrigger包装一个Trigger对象以供执行。请参阅ExecutableTrigger文档。