最近,我在spark中遇到一个示例,并在spark shell上进行了尝试。数据集如下:
pollock,Divito
波洛克,迪维奥
里查德,国王
理查德国王
下面是代码摘录:
val loadFileRDD = sc.textFile("dataset.csv")
val namePairRDD = loadFileRDD.map(_.split(",")).map(split => (split(0), split(1)))
val sortedRDD = namePairRDD.groupByKey(2).mapValues(_.toList.sorted)
val pairPerLineRDD = sortedRDD.flatMap{case(lastName, firstNameList) => firstNameList.map(firstName => (lastName,firstName))}
在最后一行中,flatMap后跟{},并带有case(lastName,firstNameList)。我在这里有2个疑问:-
我知道以下语法:
Seq(1,2,3,4) flatMap { x => Seq(x, -x) }
但这也可以正常工作:
Seq(1,2,3,4) flatMap ( x => Seq(x, -x) )
请澄清疑问。谢谢。