1. 安装必要的插件和工具
在 IDEA 中安装 Scala 插件
- 打开 IntelliJ IDEA
File
→Settings
(Mac 上是IntelliJ IDEA
→Preferences
)- 选择
Plugins
- 搜索
Scala
并安装 - 重启 IDEA
2. 创建 Scala + Spark 项目
方法一:使用 Maven 创建项目
- 创建新项目
File
→New
→Project
- 选择
Maven
- 点击
Next
- 配置项目信息
GroupId: com.example
ArtifactId: spark-demo
Version: 1.0-SNAPSHOT
- 编辑 pom.xml
<?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.example</groupId>
<artifactId>spark-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<scala.version>2.12.18</scala.version>
<spark.version>3.5.0</spark.version>
</properties>
<dependencies>
<!-- Scala 依赖 -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<!-- Spark Core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>${spark.version}</version>
</dependency>
<!-- Spark SQL -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>${spark.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Scala 编译插件 -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.8.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
3. 创建 Scala 源码目录
- 在项目根目录下创建:
src/main/scala
- 右键点击
scala
文件夹 →Mark Directory as
→Sources Root
4. 编写第一个 Spark 程序
在 src/main/scala
下创建文件:SparkDemo.scala
import org.apache.spark.{SparkConf, SparkContext}
object SparkDemo {
def main(args: Array[String]): Unit = {
// 创建 Spark 配置
val conf = new SparkConf()
.setAppName("Spark Demo")
.setMaster("local[*]") // 本地模式,使用所有核心
// 创建 SparkContext
val sc = new SparkContext(conf)
try {
// 创建测试数据
val data = 1 to 10000
val distData = sc.parallelize(data)
// 过滤数据
val result = distData.filter(_ < 10).collect()
// 打印结果
println("过滤结果:")
result.foreach(println)
// 统计
println(s"总共有 ${result.length} 个小于 10 的数字")
} finally {
// 关闭 SparkContext
sc.stop()
}
}
}
5. 运行程序
方法一:直接在 IDEA 中运行
- 右键点击
SparkDemo.scala
- 选择
Run 'SparkDemo'
方法二:配置运行参数
Run
→Edit Configurations
- 点击
+
→Application
- 配置:
- Name:
SparkDemo
- Main class:
SparkDemo
- Use classpath of module: 选择你的项目
- Name:
6. 连接到本地 Spark 集群
如果你想连接到独立的 Spark 集群(而不是 local 模式):
启动本地 Spark 集群
# 启动 Master
cd /opt/bigdata/spark-3.5.0
./sbin/start-master.sh
# 启动 Worker(查看 Master UI 获取 URL)
./sbin/start-worker.sh spark://localhost:7077
修改代码连接到集群
val conf = new SparkConf()
.setAppName("Spark Demo")
.setMaster("spark://localhost:7077") // 改为集群地址
或使用环境变量
val conf = new SparkConf()
.setAppName("Spark Demo")
// 不设置 master,通过命令行参数指定
然后使用 spark-submit 提交:
# 先打包项目
mvn clean package
# 提交到集群
spark-submit \
--class SparkDemo \
--master spark://localhost:7077 \
target/spark-demo-1.0-SNAPSHOT.jar
7. 查看 Spark UI
运行程序时,可以访问:
- 本地模式:http://localhost:4040
- 集群 Master UI:http://localhost:8080
常见问题
如果遇到 Scala SDK 错误
File
→Project Structure
→Global Libraries
- 点击
+
→Scala SDK
- 选择你安装的 Scala 版本
如果 Maven 依赖下载慢
在 pom.xml
中添加阿里云镜像:
<repositories>
<repository>
<id>aliyun</id>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>