以下函数需要返回RDD[(int,int,int)]
:
def getResults(sc:SparkContext, lower_bound:Int, upper_bound:Int, data_path:String):RDD[(Int, Int, Int)] = {
...
val result = mapping.map(x=>x._2).map(x=>x.head.toArray)
}
但是,我得到以下结果:
阶> result.collect res117:Array [Array [Int]] = Array(Array(10398,55, 120),Array(10286,35,100))
如何将结果作为RDD[(int,int,int)]
返回Main
?
答案 0 :(得分:3)
使用pattern matching,您可以collect
(或map
,如果可以保证形状):
result.collect { case Array(x, y, z) => (x, y, z) }