Я хочу сделать очень простую операцию. Мне нужно реализовать сложение между 2 векторами, для {1,2,3,4,5}, {6,7,8,9,10} я хочу получить вектор {7,9,11,13,15 } . Эти 2 вектора представлены в моем коде двумя RDD [Int].

val v1 = sc.parallelize(List(1,2,3,4,5))
val v2 = sc.parallelize(List(6,7,8,9,10))

Я знаю, что не могу просмотреть RDD, когда создаю карту для другого, и из-за этого я понятия не имею, как реализовать такую простую операцию. Как я мог продолжить?

0
Robert Reynolds 28 Май 2017 в 21:42

2 ответа

Лучший ответ

Предполагая, что ваши 2 RDD одинакового размера, вы можете сделать:

val res: RDD[Int] = v1.zip(v2).map { case (a, b) => a + b }
1
Jean Logeart 28 Май 2017 в 18:52