У меня есть коллекция векторов RDD, где каждый вектор представляет собой точку с координатами x
и y
. Например, файл выглядит следующим образом:
1.1 1.2
6.1 4.8
0.1 0.1
9.0 9.0
9.1 9.1
0.4 2.1
Я читаю это:
def parseVector(line: String): Vector[Double] = {
DenseVector(line.split(' ')).map(_.toDouble)
}
val lines = sc.textFile(inputFile)
val points = lines.map(parseVector).cache()
Кроме того, у меня есть эпсилон:
val eps = 2.0
Для каждой точки я хочу найти ее соседей, которые находятся на расстоянии эпсилон. Я делаю:
points.foreach(point =>
// squaredDistance(point, ?) what should I write here?
)
Как я могу зациклить все точки и для каждой точки найти своих соседей? Вероятно, используя функцию map
?