正在回答
3回答
最终解决方案如下:
由于keyBy(0)返回的数据类型为:KeyedStream[(String, Long), Tuple]
所以在apply中的windowfunction中执行泛型的时候需要指定为tuple:.apply(new WindowFunction[Tuple2[String,Long],String,Tuple.......
如果使用keyBy(tup=>tup._1)返回的数据类型为:KeyedStream[(String, Long), K]
此时在apply中的windowfunction中执行泛型的时候需要指定为String,因为在keyBy中指定的tup._1的数据类型为String:.apply(new WindowFunction[Tuple2[String,Long],String,String.......
这样就可以了,究其原因是因为keyBy中指定角标和指定keySelector时,返回的数据类型不一致,所以对应的需要修改apply中的泛型参数
两种情况如下图所示
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星