Google cloud dataflow 基于元素值关闭后的窗口

Google cloud dataflow 基于元素值关闭后的窗口,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,当输入元素在DoFn的侧面输出中具有标志值时,是否有关闭窗口的方法?例如,表示会话关闭的事件将关闭窗口 我一直在看文档,触发器主要是基于时间的。举个例子就好了 编辑:Trigger.OnElementContext.forTrigger(ExecutableTrigger)似乎很有前途,但ExecutableTrigger文档目前非常有限。我认为这是不可用的。目前只有一个数据驱动触发器ElementCount至少 解决方法是复制会话窗口函数代码并编写自定义窗口函数 简而言之,在看到终止元素之

当输入元素在DoFn的侧面输出中具有标志值时,是否有关闭窗口的方法?例如,表示会话关闭的事件将关闭窗口

我一直在看文档,触发器主要是基于时间的。举个例子就好了


编辑:Trigger.OnElementContext.forTrigger(ExecutableTrigger)似乎很有前途,但ExecutableTrigger文档目前非常有限。

我认为这是不可用的。目前只有一个数据驱动触发器ElementCount至少

解决方法是复制会话窗口函数代码并编写自定义窗口函数

简而言之,在看到终止元素之前,一直将元素分配到同一窗口中。然后开始创建一个新窗口


不幸的是,目前无法触发元素的内容。从:

Beam提供一个数据驱动触发器,
AfterPane.elementCountAtlast()
。此触发器对元素计数起作用;它在当前窗格收集至少N个元素后激发

目前有一种更为健壮的数据驱动程序触发器。然而(同样,目前),Beam团队似乎正在为数据驱动触发器一次填写一个用例(即元素计数或时间戳),而不是为触发元素内的任意值添加基础广泛的支持

ExecutableTrigger包装触发器对象以执行。见文件