1
我想知道是否有可能級聯滑動窗口到另一個與火花流。你可以級聯滑動時間窗口火花流
因此,舉例來說,我每1秒就有一次計數。我想對那些5,15和30秒的窗口求和。我想知道是否有可能重複使用5秒窗口結果15秒1秒,15秒1秒30秒。
這樣做的目的是爲了避免爲所有輸入存儲1秒的更新,因爲最長窗口的長度(因爲這裏的粒度並不重要)。相反,我們重用Dstream的頻率與我們需要的頻率相匹配。
這裏的和例如:
JavaPairDStream< String, Double > test = input;
JavaPairDStream< String, Double > test1 = input;
// 5s:
test = test.reduceByKeyAndWindow(new SumReducer(), new Duration(5000), new Duration(1000));
test1 = test1.reduceByKeyAndWindow(new SumReducer(), new Duration(5000), new Duration(5000));
// 15s
test = test1.reduceByKeyAndWindow(new SumReducer(), new Duration(15000), new Duration(5000));
test1 = test1.reduceByKeyAndWindow(new SumReducer(), new Duration(15000), new Duration(15000));
// 30s
test = test1.reduceByKeyAndWindow(new SumReducer(), new Duration(30000), new Duration(15000));
test.print();
我試過,但得到的印什麼。
根據你提到的限制,我不明白爲什麼不可能每5秒發出15s計數(而每15s發出30s計數)。你能澄清一下嗎? – Arthur 2014-11-26 08:15:13
@jules:你的問題不清楚你想要發射多少次。下班後我會更新我的答案。 – 2014-11-26 08:19:54
@jules:我更新了我的答案,我希望它有幫助。 – 2014-11-26 18:08:23