|
@@ -118,23 +118,36 @@ public class AdMinuteDWDProcess extends ProcessWindowFunction<AdDataOfMinuteODS,
|
|
|
System.out.println("输出:" + JsonUtil.toString(newAdStat));
|
|
|
lastReduceState.put(beginDateTime.format(formatForLastReduceKey), newAdStat);
|
|
|
yesterdayMinuteState.put(statDay, newAdStat);
|
|
|
-
|
|
|
+
|
|
|
+ List<String> removeKeys = new ArrayList<>(10);
|
|
|
for (String key : lastReduceState.keys()) {
|
|
|
if (key.equals(beginDateTime.format(formatForLastReduceKey))
|
|
|
|| key.equals(beginDateTime.minusMinutes(5L).format(formatForLastReduceKey))
|
|
|
|| key.equals(beginDateTime.minusMinutes(10L).format(formatForLastReduceKey))) {
|
|
|
continue;
|
|
|
}
|
|
|
- lastReduceState.remove(key);
|
|
|
+ removeKeys.add(key);
|
|
|
+ }
|
|
|
+ if (!removeKeys.isEmpty()) {
|
|
|
+ for (String key : removeKeys) {
|
|
|
+ lastReduceState.remove(key);
|
|
|
+ }
|
|
|
}
|
|
|
+ removeKeys.clear();
|
|
|
for (String key : yesterdayMinuteState.keys()) {
|
|
|
if (key.equals(DateUtil.formatLocalDate(beginDate))
|
|
|
|| key.equals(DateUtil.formatLocalDate(beginDate.minusDays(1L)))
|
|
|
|| key.equals(DateUtil.formatLocalDate(beginDate.minusDays(2L)))) {
|
|
|
continue;
|
|
|
}
|
|
|
+ removeKeys.add(key);
|
|
|
yesterdayMinuteState.remove(key);
|
|
|
}
|
|
|
+ if (!removeKeys.isEmpty()) {
|
|
|
+ for (String key : removeKeys) {
|
|
|
+ yesterdayMinuteState.remove(key);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|