Flink CEP简单示例----对用户访问页面顺序检测
CEP是flink早期推出的一个的库,是基于一些规则模型,检测异常行为。比如检测反爬虫,或检测优惠活动褥羊毛行为等。
下面简单介绍一下项目背景,使用CEP做模式检测。
需求:
因公司针对会员,发放优惠券活动,因防止羊毛党褥羊毛,通过Flink CEP进行异常检测。检测规则,如果同一个设备号在5分钟内顺序访问login页面–>my页面–>ling quan页面超过5次,那么该数据print至窗口。
这里使用python脚本来模拟用户的行为日志。
1、Flink CEP检测代码:
public class CEPDemo {
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment sEnv = StreamExecutionEnvironment.getExecutionEnvironment();
sEnv.setParallelism(1);
Properties p = new Properties();
p.setProperty("bootstrap.servers", "localhost:9092");
p.setProperty("group.id", "test");
DataStreamSource<String> ds = sEnv.addSource(new FlinkKafkaConsumer09<String>("cep", new SimpleStringSchema(), p));
KeyedStream<Event, String> keyedStream = ds
.map