Spark Streaming - 如何在updateStateByKey函数中获取“Key”

4

我正在使用Spark Streaming应用中的updateStateByKey函数,以持久化和更新每个key的状态。问题是我想知道在update函数内部的"key"

input.updateStateByKey(updateStateByKeyOfUsers)

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

-Tao


2
难道你不认为,如果分享input类型的话会有所帮助吗?根据这个例子,我认为关键在于第55行的t._1,尽管你的方法签名看起来非常不同。编译通过了吗? - Gábor Bakos
是的,这个可行。感谢您的帮助。 - Tao Li
1个回答

4

一般而言,Spark API不允许您获取密钥,这是相当遗憾的。您有两个选择:在每个输入中包含一个密钥或将其包含在状态中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接