Как конвертировать структуру RDD - PullRequest
0 голосов
/ 29 мая 2018

Как конвертировать

RDD[(String, (((A, B), C), D))] 

в

RDD[(String, (A, B, C, D))]

Нужно ли использовать flatMapValues?Я понятия не имею, как его использовать.

Кто-нибудь может помочь с этим?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Это почти вопрос Scala, больше, чем Spark.В качестве альтернативы, попробуйте поиск по шаблону, например:

rdd.mapValues { case (((a, b), c), d) => (a, b, c, d) }

mapValues важно, поскольку он поддерживает разделитель СДР, если таковой имеется.

0 голосов
/ 29 мая 2018

Вы можете просто использовать mapValues и выбрать values из кортежа как

rdd.mapValues(x => (x._1._1._1, x._1._1._2, x._1._2, x._2))
...