Spark Streaming中的重复动作

时间:2018-09-26 12:11:57

标签: apache-spark spark-streaming

您好,我想在火花流中创建一个迭代算法,在该算法中,我将元素合并在一起,然后删除其中的一些元素并重复此操作,直到我拥有原始输入的一个元素为止

所以我一直在想我想要像这样的东西。但是,我应该如何重复它,直到将原始输入多次汇总为一个元素(Array)。输入是一对(key,value),其中key是整数,值是Array[Double]

   
 val summary = input.mapValues(p=>{
 //convert each element into an array to merge those with same keys
                          var point = new Array[Double](0)
                          point:+p
                          point
                     }).reduceByKey{ case (x,y) => x++y } 
 //merge arrays with same key
                       .map(bkt => makeSummary(bkt,size))
 //makeSummary reduces an array 
                       .reduceByKey{case (x,y) => x++y}
 //merge same keys again
                       .map(bkt => makeSummary(bkt,size))
 //repeat until only one element left 

0 个答案:

没有答案