2016-03-04 67 views
0

下面的函数需要返回一个RDD[(int,int,int)]如何变换数组[列表[INT]]到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:数组[数组[INT]] =阵列(阵列(10398,55, 120),阵列(10286,35,100))

如何能我返回结果作为RDD[(int,int,int)]回到Main

回答

3

你可以简单地collect(或map如果你能保证形状)与pattern matching

result.collect { case Array(x, y, z) => (x, y, z) } 
相关问题