开发者社区> 问答> 正文

请问该如何使用DataStreamUtils.reinterpretasKeyedStream?

  我有这样一个场景,以多个相同的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:06:29 649 0
1 条回答
写回答
取消 提交回答
  • flatmap之后返回的本身就不是Keyedstream哈,keyby之后返回的才是keyedstream。

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

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

相关电子书

更多
函数计算最佳实践:快速开发一个分布式 Puppeteer 网页截图服务 立即下载
编程语言如何演化—— 以 JS 的 private 为例 立即下载
编程语言如何演化-以JS的private为例 立即下载