我只关注databrick website上的mapwithstae字数。我有一个概念性的问题。
def trackStateFunc(batchTime: Time, key: String, value: Option[Int], state: State[Long]): Option[(String, Long)] = {
val sum = value.getOrElse(0).toLong + state.getOption.getOrElse(0L)
val output = (key, sum)
state.update(sum)
Some(output)
}
我认为当流媒体应用程序进入此功能时,它会锁定特定键的状态。如果从其他部分重新获取相同的密钥并想要更新状态,那么它是不是会读取旧的状态值? / p>
或者也许最好说所有与相同键相关的项目(值)都是在一个部分中处理的?