Win搭建本地Spark开发环境
0、明确安装的版本
在搭建之前,需要明确安装的版本是什么,我的版本如下:
Java | 1.8.0_201 |
---|---|
Scala | 2.11.12 |
Spark | spark-2.4.5-bin-hadoop2.7 |
查看Spark依赖的Scala版本,可通过 spark-shell查看,如下图:
当版本不一致时,会出现如下异常,
1、Exception in thread “main” java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
2、Exception in thread “main” java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)
1、安装软件
明确了版本之后,到对应的官方网站下载安装包,配置环境变量中,最后进行测试,不懂问度娘。
需要安装的有Java\Scala\Spark
2、在IDEA中创建工程
2.1、在IDEA中创建Maven工程
2.2、在Open Module Settings添加对应版本的Scala 库,如下图:
2.3、在Add Frameworks Support中添加Scala,如图所示:
2.4、在src/main下新建scala文件夹,并且标志为Sources Root,如图:
2.5、 在pom.xml中,添加依赖
<properties>
<spark.version>2.4.5</spark.version>
<scala.version>2.11.12</scala.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
</dependencies>`
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 用于项目的打包插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
2.6、编写测试程序,如图:
2.7、 打包,spark-submit来执行,确保IDEA运行是成功的
此时若有问题,多半是版本问题,
3、链接Hive操作
- TODO
4、链接Kafka操作
- TODO