добавление в преобразование искровой карты

У меня есть такой текстовый файл:

1,abc
34,bvc
98,def
43,mnl
12,xyz
54,hij

val rddtemp= sc.textFile("/tmp/tabletest.txt")

val maprdd = rddtemp.map(x=> (x.split(",")(0)+ 3, x.split(",")(1) )).foreach(println)

Это дает мне:

(123,xyz)
(543,hij)
(13,abc)
(343,bvc)
(983,def)
(433,mnl)

Использование + объединяется с первым столбцом, но я хочу добавить к первому столбцу:

(15,xyz)
(57,hij)
(4,abc)
(37,bvc)
(101,def)
(46,mnl)

person user1189851    schedule 07.11.2014    source источник


Ответы (1)


После разделения у вас есть Array[String], а + для строки - это конкатенация. Сначала вам нужно преобразовать его в Int

val maprdd = rddtemp.
             map(_.split(",")).
             map(arr => (arr(0).toInt + 3, arr(1))).
             foreach(println)
person Eugene Zhulenev    schedule 07.11.2014