使用键值对RDD在Spark中构建kdtree

时间:2019-02-11 08:10:22

标签: scala apache-spark rdd

我正在尝试使用RDD [BoundingBox [Double],(Double,Double)]类型的一对名为“ RDDofPoints”的RDD中的点构建kd树。所有的点都分配给特定的边界框,我的目标是为每个边界框构建一个kd树。

我正在为此目的使用reduceByKey。但是,在这种情况下,我会停留在如何调用buildtree函数上。

buildtree的函数声明为:

def buildtree(points: RDD[(Double, Double)], depth: Int = 0): Option[KdNodeforRDD]

而且,我试图将其称为:

val treefromPairRDD = RDDofPoints.reduceByKey((k,v) => buildtree(v))

这显然行不通。我对Scala和Spark还是陌生的,请提出在这种情况下可以采取的适当方法。我不确定使用reduceByKey,如果可以在此处应用其他对RDD函数,它将是哪一个?

谢谢。

0 个答案:

没有答案