val a = sc.parallelize(Array((5,2),(6,3)))
val b = a.flatMapValues(x=>1 to x)
b.collect.foreach(println)
结果为:
(5,1)
(5,2)
(6,1)
(6,2)
(6,3)
val rdd1 = rdd3.mapValues(x=>x+"||")
rdd1.collect().foreach(println)
得到的结果为:
(1,a||)
(1,d||)
(2,b||)
(3,c||)
暂且对flatMapValue用法的认识为下面这个例子:
("w",(("a",1),("b",2))).flatMapValues(x=>x)
"w"为key值,后面的为value值,对value值进行flatMap操作,得到的结果是:
("w",(("a",1)))
("w",(("b",2)))
在这里看来就像是使用了乘法分配律一样,