2016-11-07 2 views
2

Я пытающегося создать больше записей в РДУ:Создание новых записей в существующий РДУ

Теперь у меня есть RDD[(String, List(String))] и содержание:

("str_1", List("sub_str_1", "sub_str_2")) 
("str_2", List("sub_str_3", "sub_str_4")) 
("str_3", List("sub_str_5", "sub_str_6")) 

Я хочу, чтобы преобразовать его в RDD[(String, String)] размещением рекламы list[String].
После преобразования, содержание должно быть

("str_1", "sub_str_1") 
("str_1", "sub_str_2") 
("str_2", "sub_str_3") 
("str_2", "sub_str_4") 
("str_3", "sub_str_5") 
("str_3", "sub_str_6") 

кажется, что все методы, которые могут быть применены к РДУ не в состоянии увеличить число записей. Я могу просто преобразовать текущие в новый RDD с таким же количеством записей.

Мой вопрос: есть ли способ увеличить количество записей в RDD?

ответ

5

Использование flatMap.

rdd.flatMap { case (str, list) => list.map(elt => (str, elt)) } 
1

Существует специальное преобразование:

rdd.flatMapValues(identity) 
Смежные вопросы