0

I have a park paired rdd (key, Array(value1, value2, value3.....)). what scala statement should I wrote? How could I flat this rdd and creating a new rdd : (key, value1), (key, value2), (key, value3)....

sickcat
  • 11
  • 2
  • 2

2 Answers2

1

As @moto said, it is simply

rdd.flatMapValues(v => v)

A more verbose but arguably more readable option:

rdd.flatMap {
   case (key, values) => values.map(v => key -> v)
}
Vidya
  • 29,932
  • 7
  • 42
  • 70
0
rdd.flatMap{case (k,v) => v.map(vx => (k,vx))}
Ben Horsburgh
  • 563
  • 4
  • 10