IntelliJ IDEA下使用Maven构建Scala 项目
- 1使用Maven管理项目在JavaEE用的非常多,而且也特别好用,开发Spark项目也不例外,虽然spark项目也可以使用python语言开发,而Scala语言开发Spark项目的首选。因此需要构建Maven-Scala项目来开发Spark项目,这里采用的是intellij2017版本进行开发。
- IDEA下载链接 : https://www.jetbrains.com/idea/download/
- 安装直接下一步即可
- 下面使用intellij构建maven-scala项目来开发scala项目,并且编写一个wordcount程序进行测试
1.首先需要在IntelliJ IDEA下安装 Scala 插件
链接:https://mp.csdn.net/postedit/85002236
2.scala插件安装完毕之后,maven下scala项目的创建
①.首先新建一个maven项目
②.起好名字然后next,
③.选好存放位置(也可以按默认),点击完成。这样我们一个新的maven共产就创建好了,默认是Java的,没关系后面我们再添加scala与spark的依赖
3.修改Maven项目的pom.xml文件,增加scala与spark的依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wp</groupId>
<artifactId>Maven_Scala</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spark.version>2.1.0</spark.version>
<scala.version>2.11.0</scala.version>
<hadoop.version>2.9.1</hadoop.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<!-- maven官方 http://repo1.maven.org/maven2/ 或 http://repo2.maven.org/maven2/ (延迟低一些) -->
<repositories>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>http://repo2.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
<plugin>
<!-- MAVEN 编译使用的JDK版本 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
注:如果该pom.xml文件中spark版本出现问题,可以手动的导入相关依赖
4.删除src下的java文件夹,新建一个scala文件夹,并设置源文件夹
5.添加SDK:选择对应的版本进行添加
6.环境搭建完毕后,开始编写一个wordcount的测试案例(需在对应的目录下建一个文件,用于单词统计):
新建一个单例对象,编写如下代码:
package com.wp
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
object WordCount {
def main(args: Array[String]) {
//在电脑对应路径下应有一个用于存放单词的文件
val inputFile = "file:///E:/input/SparkInput/input1/"
val conf = new SparkConf().setAppName("WordCount").setMaster("local[2]")
val sc = new SparkContext(conf)
val textFile = sc.textFile(inputFile)
val wordCount = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).
reduceByKey((a, b) => a + b)
//将统计结果打印到控制台上
wordCount.collect().foreach(println)
}
}
运行该程序,控制台打印结果如下:
到此,使用maven构建一个scala项目就完成了!!!