You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by hahaha sc <sh...@gmail.com> on 2019/12/02 07:19:53 UTC
连续keyBy后sum
以下代码:
val env = StreamExecutionEnvironment.getExecutionEnvironment
val list = new ListBuffer[Tuple3[String,Int,Int]]
val random = new Random()
for(x<- 0 to 100){
if(random.nextBoolean()){list.append(("INSERT",2,1))}else{
list.append(("UPDATE",2,1))
}
}
val data = env.fromElements(list).flatMap(_.toList)
val keyed=data.keyBy(0).sum(1)
keyed.print()
val reKeyed=keyed.keyBy(0).sum(2)
reKeyed.print()
按理说,reKeyed应该是在keyed的基础上,再进行相加,但是print出来的结果,reKeyed是在原始数据上进行的操作。
这是为什么呢?