sc.textFile(args(0)).flatMap(.split(" ")).map((, 1))
.reduceByKey(+).sortBy(_.2, false) 在这里面(, 1)和_+以及._2这些简写啥意思呀?百度好久都没有
sc.textFile(args(0)).flatMap(.split(" ")).map((, 1))
.reduceByKey(+).sortBy(_.2, false) 在这里面(, 1)和_+以及._2这些简写啥意思呀?百度好久都没有
sc.textFile(args(0)) 读取这个变量地址指定的文件
.flatMap(.split(" ")) 把文件中每一行按空格分割并转成多行
.map((, 1)) 把上面转成多行中的每一项转换成一组一组的数据,每组数据为自身加1的组合
.reduceByKey(+) 把每组数据的value值进行累加,也就是把每组数据的所有1进行累加,求出每组key的总数
.sortBy(_.2, false) 按上一步每组的累加值进行排序
在scala中如果函数中只有一个变量那可以不写,或者使用匿名变量
代码里的(, 1) 这个就是逗号前面有个匿名变量
_.2 这个 就是代表元组的第2个值 可以写成这样的形式f => {f._2} 那这个f和_就是一个意思了