开发者社区> 问答> 正文

数据流经过flatmap后并不是返回一个keyedstream ,请问是哪里有问题吗?

hi   我有这样一个场景,以多个相同的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邮件归档

展开
收起
游客nnqbtnagn7h6s 2021-12-06 20:17:59 957 0
1 条回答
写回答
取消 提交回答
  • flatmap之后返回的本身就不是Keyedstream哈,keyby之后返回的才是keyedstream。

    *来自志愿者整理的flink邮件归档

    2021-12-06 21:43:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

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