Apache spark Spark Streaming-如何获得;“关键”;在updateStateByKey函数中

Apache spark Spark Streaming-如何获得;“关键”;在updateStateByKey函数中,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我正在Spark Streaming应用程序中使用updateStateByKey函数来持久化和更新每个键的状态。问题是我想知道更新函数中的“键” input.updateStateByKey(updateStateByKeyOfUsers) def updateStateByKeyOfUsers(newUsers: Seq[Set[String]], userStatus: Option[(#####)]

我正在Spark Streaming应用程序中使用updateStateByKey函数来持久化和更新每个键的状态。问题是我想知道更新函数中的“键”

input.updateStateByKey(updateStateByKeyOfUsers)

def updateStateByKeyOfUsers(newUsers: Seq[Set[String]],
                          userStatus: Option[(#####)]
                           ): Option[(#####)] = {
   //How to get the "Key"
}

-Tao

一般来说,Spark API不允许您获取密钥。这是很可悲的。您有两种选择:要么在每个输入中包含一个键,要么在一个状态中包含它。

您不认为如果您共享的是
输入类型
,这会有所帮助吗?基于此,我认为第55行的密钥是
t.\u 1
,尽管您的方法签名看起来非常不同。它能编译吗?是的,它能工作。谢谢你的帮助。