我有这样一个场景,以多个相同的key.做keyby, DataStream resStream = demoStream.keyBy(groupKeys) .flatMap(new MyFlatmapFunction()) .keyBy(groupKeys) .process(new MyProcessFunction()) .keyBy(groupKeys) .timeWindow(Time.seconds(1)) .aggregate(new MyAggFunction()) .keyBy(groupKeys) .timeWindow(Time.seconds(1)) .process(new MyKeyProcessFunction());
我想通过DataStreamUtils.reinterpretasKeyedStream来改写这个流程,我自己尝试这样写下,, int[] groupKeys = new int[]{0,2,3};
DataStream proStream = DataStreamUtils.reinterpretAsKeyedStream(demoStream, new MyKeySelector2(groupKeys) ) // MyKeySelector2 自己实现keySelector .flatMap(new MyFlatmapFunction()) 我这样写发现数据流经过flatmap后并不是返回一个keyedstream ,请问是哪里有问题吗?请问该如何使用DataStreamUtils.reinterpretasKeyedStream
*来自志愿者整理的flink邮件归档
flatmap之后返回的本身就不是Keyedstream哈,keyby之后返回的才是keyedstream。
*来自志愿者整理的flink邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。