Apache spark Spark Streaming-在不使用updateStateByKey/mapWithState的情况下保持状态

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

我正在尝试实现一个Spark流式管道,它能够在不使用updateStateByKey/mapWithState的情况下跨批维护状态。我知道文档中说明了这些原语是推荐的方法,但我的任务是寻找替代解决方案

应用程序需要保留一个缓存,由每个批中看到的数据(来自Kinesis流)以及从Couchbase存储检索到的数据组成

我使用以下伪代码大致描述了一个实现:

背景:

 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