kpop

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

我的未来我决定 提交于 2019-11-26 22:53:47
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,