1.flatMapValues;可以将一个value展开成多个value。
1 val a=sc.parallelize(List(("a", "b,c,d"))) 2 a.flatMapValues(x=>x.split(",")).collect().foreach(println) 3 (a,b) 4 (a,c) 5 (a,d)
2.flatMap和Map,map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD。任何原RDD中的元素在新RDD中都有且只有一个元素与之对应。也可以用来形成kv对;原RDD中的元素经flatmap处理后可生成多个元素
3.groupByKey,按键值组合,groupBy,mapvalues,flatmapvalues只操作values