Использование пары ключ-значение RDD для создания kdtree в Spark - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь построить kd-деревья из точек в паре RDD с именем "RDDofPoints" с типом RDD [BoundingBox [Double], (Double, Double)].Все точки назначены определенному ограничивающему прямоугольнику, и моя цель состоит в том, чтобы создать дерево kd для каждого из ограничивающих прямоугольников.

Я пытаюсь использовать ReduByKey для этой цели.Тем не менее, я застрял в том, как вызвать функцию buildtree в этом случае.

Объявление функции buildtree:

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

И я пытаюсь вызвать его как:

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

Это не работает, очевидно.Я довольно новичок в Scala и Spark, пожалуйста, предложите, как можно поступить в этой ситуации.Я не уверен насчет использования reduByKey, если здесь можно применить какую-нибудь другую функцию RDD, какая из них будет?

Спасибо.

...