这是我第一次使用Spark流媒体。我们有一个用例,其中我们正在将10KB文件流式传输到正在处理的Spark流群集中。我们还希望将这些10 KB的传入文档合并到一个文件中,直到其大小达到30 MB,然后将该RDD上载到S3。
我想象如下,
这种方法行得通吗?如果我对Spark Streaming缓存的理解不正确,请更正。
答案 0 :(得分:0)
您可以在Spark Streaming(Stateful Transformations
和updateStateByKey
)中使用mapWithState
方法
val sparkContext = new SparkContext()
val ssc = new StreamingContext(sparkContext, Duration(4000))
ssc.checkpoint("path/to/persistent/storage")
否则,以批处理间隔处理数据并将其保存到S3存储桶。之后,运行单独的作业以合并数据。