开发者社区> 问答> 正文

Flink中keyBy()之后下游节点处理量不均怎么办?

业务描述: 有N个商品类,对每个商品类下的订单进行报警判断。一个订单的报警判断需要依赖此商品类下之前所有订单累算的结果。
现在是这么实现的,从Source添加的数据中包含了所有商品类下的订单,所以我用keyBy()将订单按商品类划分,用keyedState保存这个商品类下订单的累算结果,然后flatMap()进行判断并输出报警的订单。
遇到的问题是,50%的订单来自A商品类,商品类B、C、D、E、F、G、H各占很少一部分。现在flatMap有两个并发,一个处理了商品类ABCD,另一个并发处理商品类EFGH。
请问怎么样做才能做到均衡这两个并发?例如一个只处理A,其他商品类在另一个并发处理。
(可能今天50%的订单是A,明天50%的订单是B)

展开
收起
vivixu 2018-12-26 14:52:51 4085 0
1 条回答
写回答
取消 提交回答
  • 可以尝试做打散,两层聚合

    2019-07-17 23:23:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 覃立辉 立即下载
Flink CDC Meetup PPT - 孙家宝 立即下载
Flink CDC Meetup PPT - 徐榜江 立即下载