последовательные ключи в RDD - PullRequest
0 голосов
/ 08 сентября 2018

Есть ли способ объединить два последовательных ключа в массив в rdd?

Допустим, RDD это:

(0,0) (0,0) (0,1) (0,2) (0,3) (1,1) (1,2) (1,3)

результат:

arr1 = Array((0,0), (0,0), (0,1), (1,1))
arr2 = Array((0,2), (0,3), (1,2) ,(1,3))
RDD[Array[(Int,Int)]]= arr1,arr2....

1 Ответ

0 голосов
/ 08 сентября 2018

Вы можете разделить «ключи» (в данном случае, правую часть кортежей) на 2 и сгруппировать по результату - так как это Int с, при делении будет Int как хорошо, что означает, что нечетные числа дают тот же результат, что и предыдущее четное число, давая вам результат, который вы ищете:

val result: RDD[Iterable[(Int, Int)]] = rdd.groupBy { case (_, k) => k / 2 }.values

result.foreach(println)
// CompactBuffer((0,0), (0,0), (0,1), (1,1))
// CompactBuffer((0,2), (0,3), (1,2), (1,3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...