1).spark开发环境准备

  1.创建 Maven 项目

  2.增加 Scala 插件

  3.新建scala object

  

  控制台输出

   

  说明环境准备ok

2).WordCount

  1.添加依赖关系

  <dependencies>
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.12</artifactId>
      <version>3.0.0</version>
    </dependency>
  </dependencies>
  2.测试spark环境
  
  报错
  

   解决方法

  下载winutils,配置HADOOP_HOME环境变量

  

  编辑PATH

  

   重启电脑

  3.执行业务操作

// TODO 执行业务操作

//1. 读取文件,获取一行一行的数据
// hellow world
val lines: RDD[String] = sc.textFile("data")

//2. 将一行的数据进行拆分,形成一个一个的单词(分词)
// 扁平化:将整体拆分成个体的操作
// “hello world" => hello, world, hello, world
val words: RDD[String] = lines.flatMap(_.split(" "))

//3. 将数据按照单词进行分组,便于统计
// (hello, hello, hello), (world, world)
val wordGroup: RDD[(String, Iterable[String])] = words.groupBy(word => word)

//4. 对分组后的数据进行转换
// (hello, hello, hello), (world, world)
// (hello, 3), (world, 2)
val wordToCount = wordGroup.map {
case ( word, list ) => {
(word, list.size)
}
}

//5. 将转换结果采集到控制台打印出来
val array: Array[(String, Int)] = wordToCount.collect()
array.foreach(println)

data文件夹包含1.txt和2.txt,内容均为
  

 

   运行结果为

 

 

正确