Как выбрать значения из dstream и сохранить его как dstream? - PullRequest
0 голосов
/ 31 августа 2018

У меня есть 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
})

Работает нормально, но я хочу знать, есть ли более тонкий способ получить тот же результат.

...