- 一、新建项目
- 二、配置Maven环境
- 三、配置Scala环境
- 四、测试准备
- 五、词频统计测试
资源下载:
IntelliJ IDEA Community Edition 2021.2.3:https://www.jetbrains.com/idea/download/other.html
Maven 3.5.4:https://archive.apache.org/dist/maven/maven-3/
Spark 2.4.2:http://archive.apache.org/dist/spark/
Scala 2.12.2:https://www.scala-lang.org/download/all.html
Hadoop 2.6.0:https://archive.apache.org/dist/hadoop/common/
一、新建项目
- New Project 新建项目
- 选择Maven工程,Next
- 自定义项目名称,及项目存储的位置,Finish即可完成新项目的创建
返回顶部
二、配置Maven环境
- File下找到setting,在搜索栏中查找maven
- 修改Maven home path、User settings file、Local repository三个文件路径(要勾中Override),修改完后Applay即可
- 配置完Maven后,打开右侧的Maven工具栏,如果此处有报错(红色波浪线),点击循环按钮刷新一下,等待几分钟即可;如果还是有报错,可能Mavend的配置存在问题,进行复查
- 如下是pom.xml依赖配置文件,可以自行复制
4.0.0 org.example Spark 1.0-SNAPSHOT 2.12.2 2.4.2 2.6.0 8 8 nexus-aliyun Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public org.scala-lang scala-library ${scala.version} org.apache.spark spark-core_2.12 ${spark.version} org.apache.spark spark-sql_2.12 ${spark.version} org.apache.hadoop hadoop-client ${hadoop.version} org.apache.hadoop hadoop-hdfs ${hadoop.version} log4j log4j 1.2.12 org.apache.maven.plugins maven-compiler-plugin 3.0 1.8 1.8 UTF-8 net.alchim31.maven scala-maven-plugin 3.2.0 compile testCompile -dependencyfile ${project.build.directory}/.scala_dependencies org.apache.maven.plugins maven-shade-plugin 3.1.1 package shade *:* meta-INF/*.SF meta-INF/*.DSA meta-INF/*.RSA
- 导入依赖配置文件后,需要点击如图所示的图标进行依赖的导入下载(所有的依赖资源将会下载到Maven配置中的Local repository目录中),下载完成后可以再次刷新,不再报错即可
返回顶部
三、配置Scala环境
- 对于scala语言的支持,ideal中需要借助插件 Scala,在setting中打开plugins,搜索scala下载即可,下载完成后需要重启ideal
- 重启完成后,右击项目选择Add framework Support,添加项目支持框架
- 选择scala,在右侧点击Create,弹框中可以选择Download在线下载,也可以选择Browse…,浏览找到自己下载好的scala
- 选择好之后,ok即可完成Scala的环境配置
返回顶部
四、测试准备
- 在项目中如图所示位置创建新的scala文件夹,test中同样创建scala文件夹,右击Mark Directory as,将其分别注为Sources Root、Test Sources Root
- 标注完成后,右击scala文件夹创建Scala Class文件进行编程测试
- 上半部分图中没有出现Scala Class的原因有:没有配置scala环境、没有对scala文件进行标注
返回顶部
五、词频统计测试
- 右击创建WordCount.scala文件
package wordCount
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
def main(args: Array[String]): Unit = {
// 创建sparkContext --- 本地模式运行
val conf = new SparkConf().setAppName("wordCount").setMaster("local[6]")
val sc = new SparkContext(conf)
// 加载文件
val context: RDD[String] = sc.textFile("G:\Projects\IdealProject-C21\projects\src\main\scala\wordCount\test.txt")
// 数据处理
val split: RDD[String] = context.flatMap(item => item.split(" "))
val count: RDD[(String, Int)] = split.map(item => (item, 1))
val reduce = count.reduceByKey((curr, agg) => curr + agg)
val result = reduce.collect()
result.foreach(println(_))
}
}
返回顶部



