updateStateByKey报错is not applicable for the arguments

2020-04-04 149次浏览 已收录 2个评论
JavaPairDStream<String,Integer> counts=pairword.updateStateByKey(new Function2<List<Integer>, Optional<Integer>, Optional<Integer>>() {
  @Override
  public Optional<Integer> call(List<Integer> values, Optional<Integer> state) throws Exception {
   // TODO Auto-generated method stub
   // TODO Auto-generated method stub
      /*
       * values:经过分组最后这个key所对应的value【1,1,1,1,1】
       * state:这个key在本次之前的状态
       */
      Integer update=0;
      if(state.isPresent()) {
       //判断state上一次是否有值
       update=state.get();
      }
      for(Integer value : values) {
       //累加
       update+=value;
      }
      return Optional.of(update);
  }

 });

解决办法:可能是Optional导错包了,应该导

import com.google.common.base.Optional;


渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:updateStateByKey报错is not applicable for the arguments
喜欢 (0)

您必须 登录 才能发表评论!

(2)个小伙伴在吐槽
  1. 以后多发点哦
    我也是渣渣2020-04-06 09:58
  2. 给你点赞
    我是你哥2020-04-06 10:01