import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
def main(args: Array[String]): Unit = {
//设置spark的配置文件信息
val sparkConf: SparkConf = new SparkConf().setAppName("WordCount").setMaster("local[1]")
sparkConf.set("spark.testing.memory", "2147480000")//如果出现内存不足的错误需要加这行代码
//构建sparkcontext上下文对象
val context = new SparkContext(sparkConf)
//读取文件
//val file = context.textFile(args(0))
val file = context.textFile("E:\\word.txt")
//对文件中每一行单词进行压平切分
val word = file.flatMap(_.split(" "))
//对每一个单词计数为1 转化为(单词,1)
val wordAndOne = word.map((_,1))
//相同的单词进行汇总
val result = wordAndOne.reduceByKey(_+_)
//将结果按照单词数量升序排列
val by = result.sortBy(_._2,false)
val collect = by.collect()
//输出
collect.foreach(println)
//关闭sparkcontext
context.stop()
}
}