问题描述
这周接到一个新需求,近24小时的用户行为标签偏好跑分,实现的算法逻辑非常复杂,需要对用户的各类行为分别统计并求出比例,再配合各种时间衰减因子、反作弊数据等等。下面针对这次的开发总结下自己的心得,主要是flink window和state方面。
join维表之前预先聚合,否则CP失败
近24小时的window可以拆分为5分钟维度
onTimer
watermark的多次申明
timestamp必须是毫秒否则数据无法输出,也不报错,并且过滤脏数据,
Java中对数的使用,防止负数
并行度问题导致watermark
尽量减少key和window
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e8fbc5600ff713d2bd80cedf15846ad5.png#pic_center)