码迷,mamicode.com
首页 > 其他好文 > 详细

Spark常用的算子总结(3)—— flatMapValues

时间:2019-08-11 13:37:25      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:mob   hit   rip   rdd   对比   函数   根据   seq   cal   


 

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常用的算子总结(3)—— flatMapValues

标签:mob   hit   rip   rdd   对比   函数   根据   seq   cal   

原文地址:https://www.cnblogs.com/pocahontas/p/11334575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!