apply方式报错

apply方式报错

http://img1.sycdn.imooc.com//climg/5fa203ce0930718f15180624.jpg

一直报错,找了下参数类型, 也没啥问题

正在回答

登陆购买课程后可参与讨论,去登陆

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中的泛型参数


两种情况如下图所示

http://img1.sycdn.imooc.com//climg/5fa21ae1099b106912170511.jpg

http://img1.sycdn.imooc.com//climg/5fa21ae109af608c11880687.jpg


提问者 吴流离 2020-11-04 09:41:19
徐老师 2020-11-04 09:34:20

你把鼠标放到apply上面,看一下提示的错误信息,发一下

  • 提问者 吴流离 #1
    Cannot resolve overloaded method 'apply'
    2020-11-04 09:42:39
  • 提问者 吴流离 #2
    无法处理重载的apply方法。。。
    2020-11-04 09:43:43
  • 提问者 吴流离 #3
    应该是无法确定使用的哪个apply方法了,apply有好几个重载的,但是已经明确指定是WindowFunction了呀
    2020-11-04 09:49:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师