我有一个Spark-streaming应用程序,基本上跟踪字符串 - >字符串字典。
所以我有更新消息,例如:
“A” - >”中B”
我需要更新字典。
这似乎是updateStateByKey方法的一个简单用例。
然而,我的问题是,当应用程序启动时,我需要使用来自hive表的数据“初始化”字典,该表具有字典的所有历史键/值。
我能想到的唯一方法就是:
val rdd =… //get data from hive
def process(input: DStream[(String, String)]) = {
input.join(rdd).updateStateByKey(update)
}
因此,连接操作将在每个传入缓冲区完成,实际上我只需要在初始化时使用它。
知道如何实现这个目标吗?
由于