Spark делает RDD из значений типа Iterable - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть RDD (Int, Iterable [String]). Как сделать RDD из итерируемой части?

scala> val salgrp=salname.groupByKey
salgrp: org.apache.spark.rdd.RDD[(Int, Iterable[String])] = ShuffledRDD[11] at groupByKey at <console>:41
scala> salgrp.collect
18/09/04 20:51:06 INFO DAGScheduler: Job 0 finished: collect at <console>:44, took 1.723661 s
res0: Array[(Int, Iterable[String])] = Array((50000,CompactBuffer(Bhupesh, Tejas, Dinesh, Lokesh)), (10000,CompactBuffer(Sheela, Kumar, Venkat)), (45000,CompactBuf
fer(Pavan, Ratan, Amit)))

1 Ответ

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

Можно использовать функцию «flatMap»:

val data = List((1, List("one", "two", "three")))
val rdd = sparkContext.parallelize(data)
rdd.flatMap(v => v._2).foreach(println)

Выход:

one
two
three
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...