【问题标题】:Spark Streaming - How to get the "Key" in updateStateByKey functionSpark Streaming - 如何在 updateStateByKey 函数中获取“密钥”
【发布时间】:2015-09-10 18:21:06
【问题描述】:

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

input.updateStateByKey(updateStateByKeyOfUsers)

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

-淘

【问题讨论】:

  • 你不觉得如果你被分享input的类型会有帮助吗?基于 this example 我认为关键是第 55 行中的 t._1,尽管您的方法签名看起来非常不同。它编译了吗?
  • 是的,这行得通。感谢您的帮助。

标签: apache-spark spark-streaming


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 2021-01-04
    相关资源
    最近更新 更多