GapDuration = 10 분인 세션 창을 구현하고 있으며 세션에있을 수있는 이벤트의 최대 개수 (100 개)를 제한합니다. 100 개가 넘는 세션은 여러 세션으로 분할됩니다.Google Cloud Dataflow : 세션 길이를 제한하는 조기 트리거가있는 세션 창
합성 트리거를 사용하고 Window Accumulation Mode를 discardingFiredPanes()를 설정하면 작동하는 것 같습니다.
이 접근 방식에 대한 의견을 듣고 싶습니다. 원하지 않는 부작용이 있습니까?
감사
//Ex: Session timeout 10 mins and max events session can have is 100.
--skip
.triggering(
Repeatedly.forever(
AfterFirst.of(
AfterPane.elementCountAtLeast(100), // max 100 events per session
AfterWatermark.pastEndOfWindow()
)
)
)
.discardingFiredPanes()
감사합니다. – Alex
매우 이상합니다. AfterWatermark.pastEndOfWindow(). withEarlyFirings() 접근 방식은 우리에게 적합하지 않습니다. AfterPane.elementCountAtLeast() 트리거가 무시 중이거나 런타임 엔진에 아직 요소 수가 없습니다. Sessions.withGapDuration 윈도우만의 고유 한 것입니까? – Alex
보고있는 증상은 무엇입니까? 100 개 이상의 요소가있는 세션 창이 나타 납니까? 일반적으로'elementCountAtLeast (N)'은 N에서 정확히 트리거 될 것이라고 보장하지 않습니다. 따라서 세션이 먼저 트리거 될 수 있습니다. –