package wordcount import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object Spark01_WordCount { def main(args: Array[String]): Unit = { //Todo 建立与spark的连接 val sparConf = new SparkConf().setMaster("local").setAppName("WordCount") //基本配置 val sc = new SparkContext(sparConf) //Todo 执行业务操作 //1.读取文件,获取一行一行的数据 val lines: RDD[String] = sc.textFile("datas/1.txt") //2.将一行数据进行拆分,形成一个一个的单词 // 扁平化:将整体拆分成个体 // "hello world,hello world" => hello,world,hello,world val words: RDD[String] = lines.flatMap(_.split(" ")) //3.将数据根据单词进行分组,便于统计 // "(hello,hello),(world,world) val wordGroup: RDD[(String, Iterable[String])] = words.groupBy(word => word) //4.对分组后的数据进行转换 // "(hello,hello),(world,world) => (hello,2),(world,2) val wordToCount = wordGroup.map { case (word,list) => { (word,list.size) } } //5.将转换结果采集到控制台打印出来 val array: Array[(String, Int)] = wordToCount.collect() array.foreach(println) //Todo 关闭spark连接 sc.stop() } }
运行截图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。