Apache spark Spark Streaming-在不使用updateStateByKey/mapWithState的情况下保持状态
我正在尝试实现一个Spark流式管道,它能够在不使用updateStateByKey/mapWithState的情况下跨批维护状态。我知道文档中说明了这些原语是推荐的方法,但我的任务是寻找替代解决方案 应用程序需要保留一个缓存,由每个批中看到的数据(来自Kinesis流)以及从Couchbase存储检索到的数据组成 我使用以下伪代码大致描述了一个实现: 背景:Apache spark Spark Streaming-在不使用updateStateByKey/mapWithState的情况下保持状态,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我正在尝试实现一个Spark流式管道,它能够在不使用updateStateByKey/mapWithState的情况下跨批维护状态。我知道文档中说明了这些原语是推荐的方法,但我的任务是寻找替代解决方案 应用程序需要保留一个缓存,由每个批中看到的数据(来自Kinesis流)以及从Couchbase存储检索到的数据组成 我使用以下伪代码大致描述了一个实现: 背景: streamData <- data from Kinesis Stream cache <- Empty Datase
streamData <- data from Kinesis Stream
cache <- Empty Dataset
cacheEmpty <- true
forEachRDD (streamData) {
if (cacheEmpty) {
cache <- warmupCache()
cacheEmpty <- false
}
else {
cache <- updateCache()
}
workingSet <- getWorkingSetFromCache(cache)
output(workingSet)
}
streamData