需求:
统计一小时的热门商品,每5分钟更新一次
热门度用浏览次数(pv)来衡量
解题思路:
1、创建执行环境,获取数据,筛选出(pv);
2、开1小时,每5分钟输出一次的窗口;
3、分组,增量聚合各个商品ID的浏览次数;
4、将数据装进集合,进行排序
实现代码:
》》》》》
package Data_text
import org.apache.flink.api.common.functions.AggregateFunction
import org.apache.flink.api.common.state.{ListState, ListStateDescriptor}
import org.apache.flink.api.java.tuple.{Tuple, Tuple1}
import org.apache.flink.configuration.Configuration
import org.apache.flink.streaming.api.TimeCharacteristic
import org.apache.flink.streaming.api.functions.KeyedProcessFunction
import org.apache.flink.streaming.api.scala._
import org.apache.flink.streaming.api.scala.function.WindowFunction
import org.apache.flink.streaming.api.windowing.tim