在Hadoop中实现wordcount要写一个map和一个reduce,要用FileSystem把文件读取进来,但是在spark-shell中超级简单,如下:
sc.textFile("file:///home/hadoop/lwh.txt").flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey((a,b)=>a+b).foreach(println)
如果要按value降序呢,也超级简单
sc.textFile("file:///home/hadoop/lwh.txt").flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey((a,b)=>a+b).sortBy(_._2,false).foreach(println)
搞定!