我在折叠函数中使用累加器。我想更改累加器的值。
我的函数看起来像这样:
public Tuple2<String, Long> fold(Tuple2<String, Long> acc, eventClass event)
{
acc._1 = event.getUser();
acc._2 += event.getOtherThing();
return acc
}
对我来说这应该是可行的,因为我所做的就是改变累加器的值。但是我得到的是Cannot assign value to final variable _1. 对_2. 为什么这些属性是accfinal的?如何为它们分配值?
快速编辑: Wat I can to be rust return a new Tuple,但在我看来这不是一个好的解决方案return new Tuple2<String, Long>(event.getUser(), acc._2 + event.getOtherThing());
flink框架的解决方案: 使用flink中定义的Tuple2。使用导入它
import org.apache.flink.api.java.tuple.Tuple2;
然后将其与
acc.f0 = event.getUser();
acc.f1 += event.getByteDiff();
return acc;
慕工程0101907
白板的微信
阿晨1998
随时随地看视频慕课网APP
相关分类