1. 创建新项目
打开 IntelliJ IDEA,选择 File
-> New
-> Project
。在弹出的窗口中,选择 Maven
或 Gradle
作为项目构建工具(这里以 Maven 为例),确保 JDK 版本正确,然后点击 Create
。
2. 配置项目依赖
在项目的 pom.xml
文件中添加 Spark 相关依赖。以下是一个基本的依赖配置示例:
<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-project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<spark.version>3.4.1</spark.version>
</properties>
<dependencies>
<!-- 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>
</project>
在上述配置中,使用了 Spark 3.4.1 版本,你可以根据实际需求调整版本号。
3. 编写 Spark 代码
在 src/main/java
或 src/main/scala
目录下创建一个新的类或对象来编写 Spark 代码。以下是一个简单的 Java 示例,用于计算 Pi 的近似值:
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import java.util.ArrayList;
import java.util.List;
public class SparkPi {
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("Spark Pi").setMaster("local[*]");
JavaSparkContext sc = new JavaSparkContext(conf);
int slices = (args.length == 1) ? Integer.parseInt(args[0]) : 2;
int n = 100000 * slices;
List<Integer> l = new ArrayList<>(n);
for (int i = 0; i < n; i++) {
l.add(i);
}
long count = sc.parallelize(l, slices).filter(i -> {
double x = Math.random() * 2 - 1;
double y = Math.random() * 2 - 1;
return x * x + y * y <= 1;
}).count();
System.out.println("Pi is roughly " + 4.0 * count / n);
sc.stop();
}
}
4. 运行代码
- 本地模式:在代码中,
setMaster("local[*]")
表示使用本地模式运行,你可以直接点击 IDEA 中的运行按钮来执行代码。 - 集群模式:如果你想在 Spark 集群上运行代码,需要将代码打包成 JAR 文件,然后使用
spark-submit
命令提交到集群。
5. 打包项目
在 IDEA 的右侧 Maven Projects
窗口中,展开 Lifecycle
,双击 package
来打包项目。打包完成后,会在 target
目录下生成一个 JAR 文件。
6. 提交到集群
使用 spark-submit
命令将打包好的 JAR 文件提交到 Spark 集群:
spark-submit \
--class com.example.SparkPi \
--master yarn \
--deploy-mode cluster \
/path/to/your/spark-project-1.0-SNAPSHOT.jar
通过以上步骤,你就可以在 IntelliJ IDEA 中编写、运行和提交 Spark 程序了。