通过本文你将学到:
1.如何通过Broadcast广播的形式,关联配置文件2如何使用 Flink 灵活的 Window API3.何时需要用到 State,以及如何使用4.如何使用 ProcessFunction 实现 TopN 功能
业务场景
实时根据运营人员前端配置的商品id,监控商品id在黄金广告位最近一小时销量的销量情况,发现销量差的商品id及时下线调整,发现销量好的商品扩大曝光力度和广告力度。
数据准备
简化版kafka实时流流
{"userId":"11","itemId":"0001"}
{"userId":"11","itemId":"0002"}
{"userId":"22","itemId":"0002"}
{"userId":"22","itemId":"0002"}
{"userId":"22","itemId":"0003"}
{"userId":"33","itemId":"0003"}
{"userId":"33","itemId":"0004"}
简化板前端运营人员配置的商品itemId
0001
0002
0003
计算流程梳理
运营人员监控的itemId会存入在mysql中,本次为了简化,直接读取的text文件
整体思路梳理
1,读取运营人员想要监控的itemId
2,把想要监控的itemId通过广播的形式广播出去
3,kafka读取订单数据,过滤哪些商品订单是运营想要监控的itemId
4,实时计算topN