天天看点

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

目录

一、IDEA编写wordcount

1、本地环境准备

【1】创建maven项目

【2】添加scala开发框架支持

【3】测试scala运行环境是否成功

【4】添加spark依赖关系

2、编写wordcount

【1】准备本地测试文件

【2】编写代码

【3】运行结果:

3、依赖导入下载太慢解决

 二、Spark编写wordcount

一、IDEA编写wordcount

1、本地环境准备

【1】创建maven项目

开发前请保证 IDEA 开发工具中含有 Scala 开发插件

如何下载scala插件

在idea中 settings---> plugins-->搜索scala下载

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

【2】添加scala开发框架支持

点击新建的项目 右键 Add Frameworks Support

第一次添加如果发现没有sdk 点击create 然后点击Browse 选择安装的scala路径即可 确定 点击ok

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

【3】测试scala运行环境是否成功

编写简单代码进行测试

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

【4】添加spark依赖关系

修改 Maven 项目中的 POM 文件,增加 Spark 框架的依赖,使用时请注意对应版本。

 <dependencies>
         <dependency>
             <groupId>org.apache.spark</groupId>
             <artifactId>spark-core_2.12</artifactId>
             <version>3.0.0</version>
         </dependency>
     </dependencies>
     <build>
     <plugins>
     <!-- 该插件用于将 Scala 代码编译成 class 文件 -->
     <plugin>
     <groupId>net.alchim31.maven</groupId>
     <artifactId>scala-maven-plugin</artifactId>
     <version>3.2.2</version>
     <executions>
     <execution>
         <!-- 声明绑定到 maven 的 compile 阶段 -->
         <goals>
             <goal>testCompile</goal>
         </goals>
     </execution>
     </executions>
     </plugin>
         <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-assembly-plugin</artifactId>
             <version>3.1.0</version>
             <configuration>
                 <descriptorRefs>
                     <descriptorRef>jar-with-dependencies</descriptorRef>
                 </descriptorRefs>
             </configuration>
             <executions>
                 <execution>
                     <id>make-assembly</id>
                     <phase>package</phase>
                     <goals>
                         <goal>single</goal>
                     </goals>
                 </execution>
             </executions>
         </plugin>
     </plugins>
     </build>
           

2、编写wordcount

【1】准备本地测试文件

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

【2】编写代码

 package com.zhou.spark_core
 ​
 import org.apache.spark.rdd.RDD
 import org.apache.spark.{SparkConf, SparkContext}
 ​
 /**
  * @date 2021/9/2 - 13:29
  */
 object spark_core02_WordCount2 {
   def main(args: Array[String]): Unit = {
     //1、创建spark运行配置对象
     val sparkconf = new SparkConf().setMaster("local[*]").setAppName("wordcount")
     //2、创建spark上下文环境对象 (连接对象)
     val sc = new SparkContext(sparkconf)
     //3、读文件
     val fileRDD: RDD[String] = sc.textFile("datas") //datas 替换为你要分析的文件的存放的路径 可以是绝对路径 这里使用相对路径
     //4、将文件中的数据进行分词
     val words: RDD[String] = fileRDD.flatMap(_.split(" "))
     //5、转换数据 hello --> (hello,1)
     val wordMap: RDD[(String, Int)] = words.map((_, 1))
     //6、将转换后的数据进行聚合
     val wordsRed: RDD[(String, Int)] = wordMap.reduceByKey(_ + _)
     //7、将数据聚合结果采集
     val wordcount: Array[(String, Int)] = wordsRed.collect()
     //8、打印结果
     wordcount.foreach(println)
     //9、关闭spark连接
     sc.stop()
 ​
   }
 }
           

【3】运行结果:

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

3、依赖导入下载太慢解决

配置国内镜像源 

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

 在本地文件中找到该文件 添加

大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

 二、Spark编写wordcount

使用spark实现wordcount

准备数据

在spark-local的目录下新建word.txt文件填入数据

 hello spark
 hello spark
 hello flink flink
 hadoop      

开启本地模式执行命令

sc.textFile("file:opt/module/spark-local/data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
           
大数据技术之Spark ——(二)Spark快速入门案例 WordCount一、IDEA编写wordcount 二、Spark编写wordcount

继续阅读