Hi,

你可以再用 DataStreamUtils.reinterpretAsKeyedStream(proStream, new
MyKeySelector2(groupKeys) ) 把它解释成 KeyedStream。
因为你的 flatmap 和 上游节点之间如果并发一样的话,运行时是会 chain 在一起的,所以key的分布没有变。

Best,
Jark

On Wed, 10 Jun 2020 at 21:15, Yichao Yang <1048262...@qq.com> wrote:

> Hi
>
>
> flatmap之后返回的本身就不是Keyedstream哈,keyby之后返回的才是keyedstream。
>
>
> Best,
> Yichao Yang
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"绘梦飘雪"<318666...@qq.com&gt;;
> 发送时间:&nbsp;2020年6月10日(星期三) 晚上7:18
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;关于DataStreamUtils.reinterpretasKeyedStream的使用
>
>
>
> hi
> &amp;nbsp; 我有这样一个场景,以多个相同的key.做keyby,
> DataStream resStream =&amp;nbsp; demoStream.keyBy(groupKeys)
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .flatMap(new MyFlatmapFunction())
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .keyBy(groupKeys)
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .process(new MyProcessFunction())
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .keyBy(groupKeys)
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .timeWindow(Time.seconds(1))
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .aggregate(new MyAggFunction())
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .keyBy(groupKeys)
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .timeWindow(Time.seconds(1))
> &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
> .process(new MyKeyProcessFunction());
>
> 我想通过DataStreamUtils.reinterpretasKeyedStream来改写这个流程,我自己尝试这样写下,,
> int[] groupKeys = new int[]{0,2,3};
>
> DataStream proStream =
> DataStreamUtils.reinterpretAsKeyedStream(demoStream, new
> MyKeySelector2(groupKeys) )&nbsp; //&nbsp; MyKeySelector2
> 自己实现keySelector&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> .flatMap(new MyFlatmapFunction())
> 我这样写发现数据流经过flatmap后并不是返回一个keyedstream
> ,请问是哪里有问题吗?请问该如何使用DataStreamUtils.reinterpretasKeyedStream

回复