如何从dstream中选择值并将其保持为dstream?

时间:2018-08-31 09:05:12

标签: scala apache-spark spark-streaming

我有一个DStream[(Int,Int)]像这样:

  

(0,0),(1,0),(2,0),(3,0),(4,0),(5,0)等

我想采样一些值并使流像这样:

  

(0,1),(1,1),(2,1),(3,0),(4,0),(5,0)等

我唯一想到的方法是:

val ex = input.transform(rdd=> {
   val tmp = rdd.filter(_._2==0).take(fixedSize) 
   val arr = tmp.map(p=> (p._1,1))
   val newRDD1 = ssc.sparkContext.parallelize(arr,2)
   val newRDD2 = ssc.sparkContext.parallelize(tmp,2)
   val ret = rdd.union(newRDD1).subtract(newRDD2)
   ret
})

它工作正常,但我想知道是否还有一种更精致的方法来获得相同的结果。

0 个答案:

没有答案