spark rdd如何平键 - 数组(值)对

时间:2017-03-31 16:16:40

标签: apache-spark rdd flatmap

我有一个park配对的rdd(key,Array(value1,value2,value3 .....))。 我应该写什么scala语句? 我怎么能平展这个rdd并创建一个新的rdd :( key,value1),(key,value2),(key,value3)....

2 个答案:

答案 0 :(得分:1)

正如@moto所说,它只是

rdd.flatMapValues(v => v)

更详细但可以说更具可读性的选项:

rdd.flatMap {
   case (key, values) => values.map(v => key -> v)
}

答案 1 :(得分:0)

rdd.flatMap{case (k,v) => v.map(vx => (k,vx))}