需求:按照value值降序
wordcount.map(x=>(x._2,x._1)).sortByKey(false ).map(x=>(x._2,x._1)).collect()
需求:Top Key
wordcount.map(x=>(x._2,x._1)).sortByKey(false ).map(x=>(x._2,x._1)).take(3)
需求:Group Top Key
*按照第一个字段分组 ,输出为:(aa,list(68,17,49)),(bb,list(67,96,57))
*对分好组中的第二个字段进行排序,输出为:(aa,list(68,49,17))
*获取前k个,输出为(aa,list(68,49))
val rdd=sc. textFile(“hdfs://localhost:8020/usr/local/a.txt”)
rdd.map(_.split(” “)).collect ##输出为数组array(aa,78)
rdd.map(_.split(” “)).map(x=>x(0),x(1))##输出为:(aa,78)
rdd.map(_.split(” “)).map(x=>x(0),x(1)).groupByKey.collect ##输出为:(aa,CompactBuffer68,17,49))
rdd.map(_.split(” “)).map(x=>x(0),x(1)).groupBuKey.map(
x=>{
val xx=x._1
val yy=x._2
yy
}).collect
rdd.map(_.split(" ")).map(x=>x(0),x(1)).groupByKey().map(x=>{
x=>{
val xx=x._1
val yy=x._2
(xx,yy.toList.sorted.reverse.take(3))
}).collect
val aa=rdd.map(_.split(” “)).map(x=>x(0),x(1)).groupByKey().map(x=>{
x=>{
val xx=x._1
val yy=x._2
(xx,yy.toList.sorted.reverse.take(3))
}).collect
aa.saveAsTextFile(path)