2017-04-12 3 views
1

데이터 스트림이 있습니다. 창 기능을 1 시간, 2 시간, 3 시간 ... 24 시간으로 적용해야합니다. 각 분할에는 고유 한 창 기능이 있습니다.입력 스트림을 여러 창으로 분할하여 개별적으로 처리

효율적으로 창을 분할하는 방법. 내가 생각할 수있는

더러운 방법은

for(int i=1; i < 24 ;i++){ 
    inputStream.keyBy("id").timeWindow(Time.hours(i)).apply(..); 
} 
+0

나는 정말로 당신이 원하는 것을 이해하지 못했습니다. 동시에 병렬 방식으로 다른 창 작업을 원합니다. 맞습니까? – ImbaBalboa

+0

단일 스트림, 다른 창, 다른 시간 간격, parallely – madhairsilence

+0

이것은 흥미로운 질문입니다. 당신이 제안한 것은 분명히 작동합니다. 24 개의 다른 윈도우를 만들 수 있습니다. 그러나 나는 더 좋은 방법이 불가능하다고 믿을 수 없다. 귀하의 창 기능에 따라, 귀하의 2 시간 windowing에 대한 1 시간 windowing 출력을 사용할 수 있습니까? 내 말은, 2 시간의 윈도우 잉은 2 시간 연속 1 시간의 윈도 잉의 병합 일 것입니다. – ImbaBalboa

답변

0

는보다 효율적인 EventTimeTrigger에 따라 사용자 정의 트리거 매 시간마다 발사하는 (그렇지 않으면 ProcessingTimeTrigger, 당신은 이벤트 시간에 최선을 다하고 가정)를 구현하는 것입니다.