Ani*_*lla 5 google-cloud-dataflow apache-beam spotify-scio
在数据流流世界中。
我说的时候的理解:
Window.into(FixedWindows.of(Duration.standardHours(1)))
.triggering(AfterProcessingTime.pastFirstElementInPane()
.plusDelayOf(Duration.standardMinutes(15))
Run Code Online (Sandbox Code Playgroud)
就是对于一个小时的固定窗口,触发器在看到第一个元素之后将等待或批处理这些元素。
但是当我说:
Window.into(FixedWindows.of(Duration.standardHours(1)))
.triggering(AfterProcessingTime.pastFirstElementInPane()
Run Code Online (Sandbox Code Playgroud)
它是从第一次看到第一个元素起就每次触发,还是隐式地对元素进行批处理?因为在每个元素上触发都会使系统过载。
使用这两个触发器,窗口将被触发一次,所有剩余元素都将被丢弃。您可以Repeatedly.forever(...)用来触发多次。
关于您的特定问题,如果元素大约在同一时间到达,则会发生少量批处理。
假设您的意思是以下内容,那么是的,第二个将触发更多次,并且可能会使系统过载。
Repeatedly.forever(AfterProcessingTime.pastFirstElementInPane()
.plusDelayOf(Duration.standardMinutes(15)))
Run Code Online (Sandbox Code Playgroud)
与
Repeatedly.forever(AfterProcessingTime.pastFirstElementInPane())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
978 次 |
| 最近记录: |