|
@@ -4,8 +4,10 @@ import flink.zanxiangnet.ad.monitoring.pojo.entity.AdStatOfHourDWD;
|
|
|
import flink.zanxiangnet.ad.monitoring.pojo.entity.CostHourDM;
|
|
|
import com.zanxiangnet.module.util.DateUtil;
|
|
|
import flink.zanxiangnet.ad.monitoring.util.NumberUtil;
|
|
|
+import flink.zanxiangnet.ad.monitoring.util.StateTtlUtil;
|
|
|
import org.apache.flink.api.common.state.MapState;
|
|
|
import org.apache.flink.api.common.state.MapStateDescriptor;
|
|
|
+import org.apache.flink.api.common.time.Time;
|
|
|
import org.apache.flink.api.common.typeinfo.Types;
|
|
|
import org.apache.flink.configuration.Configuration;
|
|
|
import org.apache.flink.streaming.api.functions.KeyedProcessFunction;
|
|
@@ -24,7 +26,9 @@ public class CostHourProcess extends KeyedProcessFunction<Long, AdStatOfHourDWD,
|
|
|
|
|
|
@Override
|
|
|
public void open(Configuration conf) throws SQLException, ClassNotFoundException, IOException {
|
|
|
- historyReduceState = getRuntimeContext().getMapState(new MapStateDescriptor<>("historyReduceState", Types.STRING, Types.MAP(Types.INT, Types.POJO(AdStatOfHourDWD.class))));
|
|
|
+ MapStateDescriptor<String, Map<Integer, AdStatOfHourDWD>> historyReduceStateDescriptor = new MapStateDescriptor<>("historyReduceState", Types.STRING, Types.MAP(Types.INT, Types.POJO(AdStatOfHourDWD.class)));
|
|
|
+ historyReduceStateDescriptor.enableTimeToLive(StateTtlUtil.rocketDBTtl(Time.hours(25)));
|
|
|
+ historyReduceState = getRuntimeContext().getMapState(historyReduceStateDescriptor);
|
|
|
}
|
|
|
|
|
|
@Override
|