与火花放出的水库概念

时间:2015-03-30 16:51:16

标签: scala spark-streaming

在某些情况下,我们不希望在某些数据到达后立即处理,但会在一段时间后处理。

我的问题:有没有办法用Spark Streaming实现库的概念?!

我的意思是如何在结构(称为库)中临时存储一些DStream数据(基于条件)并稍后处理它们!

1 个答案:

答案 0 :(得分:0)

您可以使用collect函数来收集数据集: 例如: 收集推文数据集:

val tweetStream = TwitterUtils.createStream(ssc, Utils.getAuth)
  .map(gson.toJson(_))

tweetStream.foreachRDD((rdd, time) => {
  val count = rdd.count()
  if (count > 0) {
    val outputRDD = rdd.repartition(partitionsEachInterval)
    outputRDD.saveAsTextFile(
      outputDirectory + "/tweets_" + time.milliseconds.toString)
    numTweetsCollected += count
    if (numTweetsCollected > numTweetsToCollect) {
      System.exit(0)
    }
  }
})