开发者社区> 问答> 正文

我在这个flatmap里面是根据传入值得一个字段提取当成key,然后keyby这个字段,由于这个字段会变化,所以用了confStream这个配置流。目前得问题是我把flatmap并行度设为我指定的parallelism时,并没有达到我想将不同的key分配到不同的task的要求,但是设为1的话就可以达到,目前没有明白时为什么,请各位大牛解惑。

20180722
转自钉钉群21789141:我在这个flatmap里面是根据传入值得一个字段提取当成key,然后keyby这个字段,由于这个字段会变化,所以用了confStream这个配置流。目前得问题是我把flatmap并行度设为我指定的parallelism时,并没有达到我想将不同的key分配到不同的task的要求,但是设为1的话就可以达到,目前没有明白时为什么,请各位大牛解惑。

展开
收起
赵慧@ApacheFlink中文社区 2018-10-10 11:28:41 2731 0
1 条回答
写回答
取消 提交回答
  • 云邪
    .connect(confStream.keyBy(...)).flatMap 试试这个。
    A.connect(B).flatmap 是将 A 和 B 流以 round-robin 的网络传输方式发送给 flatmap 节点。 A.connect(B).keyBy(..).flatmap ,等同于 A.keyBy(...).connect(B.keyBy(...)).flatmap, 是将 A 和 B 以 keyby 的方式发送给 flatmap 节点。
    A.connect(B.keyBy(...)).flatmap, 是将 B 以 keyby 的方式发送给 flatmap, A 以 rount-robin 的方式。

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载