Spark常用的算子总结—— flatMapValues
Posted pocahontas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark常用的算子总结—— flatMapValues相关的知识,希望对你有一定的参考价值。
flatmapValues就是和flatmap差不多,但是人家本身就是个key value了,所以一个pair怎么变成多个pair呢,就是根据关于values的函数
val a = sc.parallelize(List((1,2),(3,4),(5,6))) val b = a.flatMapValues(x=>1 to x) b.collect.foreach(println(_)) /*结果 (1,1) (1,2) (3,1) (3,2) (3,3) (3,4) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) */
把一个pair里的values变成一个数组,然后k-v1 k-v2...
val list = List(("mobin",22),("kpop",20),("lufei",23)) val rdd = sc.parallelize(list) val mapValuesRDD = rdd.flatMapValues(x => Seq(x,"male")) mapValuesRDD.foreach(println) 输出: (mobin,22) (mobin,male) (kpop,20) (kpop,male) (lufei,23) (lufei,male)
如果是mapValues会输出:【对比区别】
(mobin,List(22, male))
(kpop,List(20, male))
(lufei,List(23, male))
以上是关于Spark常用的算子总结—— flatMapValues的主要内容,如果未能解决你的问题,请参考以下文章