Я мог бы добиться этого, используя вложенную карту. Поэтому я подумал опубликовать свой ответ.
myRDD.map({case (node,p1Array) => (node, p1Array.map(k => myRDDArray.filter(y=> y._1 == k)(0)))})
Результат:
(8,List((9,List(5, 10, 8)), (5,List(8, 9, 4, 6)), (7,List(10, 8, 4))))
(4,List((7,List(10, 8, 4)), (1,List(4, 3)), (3,List(1, 2, 4, 6)), (5,List(8, 9, 4, 6)), (6,List(10, 5, 4, 2, 3))))
(5,List((6,List(10, 5, 4, 2, 3)), (8,List(9, 5, 7)), (9,List(5, 10, 8)), (4,List(7, 1, 3, 5, 6))))
(9,List((5,List(8, 9, 4, 6)), (10,List(6, 7, 9)), (8,List(9, 5, 7))))
(1,List((4,List(7, 1, 3, 5, 6)), (3,List(1, 2, 4, 6))))
(6,List((10,List(6, 7, 9)), (5,List(8, 9, 4, 6)), (4,List(7, 1, 3, 5, 6)), (2,List(3, 6)), (3,List(1, 2, 4, 6))))
(2,List((3,List(1, 2, 4, 6)), (6,List(10, 5, 4, 2, 3))))
(7,List((10,List(6, 7, 9)), (8,List(9, 5, 7)), (4,List(7, 1, 3, 5, 6))))
(3,List((4,List(7, 1, 3, 5, 6)), (6,List(10, 5, 4, 2, 3)), (1,List(4, 3)), (2,List(3, 6))))
(10,List((6,List(10, 5, 4, 2, 3)), (7,List(10, 8, 4)), (9,List(5, 10, 8))))