我的电脑是Macbook Pro,最近在学习Spark,想要在idea里搭建Spark环境,为之后的Spark编程作准备。下面是在MAC版本的idea里配置Spark环境。
1. 准备工作
1.安装 JDK
确保Mac 上已经安装了 JDK 8 或更高版本。
可通过 java -version 查看是否安装。
java -version
输出以下内容,说明安装成功
JDK8的安装步骤可参考教程:JDK8安装教程
2.安装 Apache Spark
-
下载 Spark 二进制包:Spark-3.3.1
-
解压缩到目标目录,例如 /opt/spark
-
配置环境变量:
export SPARK_HOME=/opt/spark
export PATH=SPARK_HOME/bin:PATH -
验证 Spark 是否安装成功:
spark-shell
出现以下界面,说明spark安装成功
3.安装 Maven(如果未安装)
-
安装命令:
brew install maven
-
验证:
mvn -v
出现以下说明安装成功
2. 配置 IntelliJ IDEA
1.打开IDEA
2.安装 Scala 插件
- 打开 IDEA -> Preferences -> Plugins -> Marketplace -> 搜索 Scala 并安装插件。
3.创建新项目
- 选择New Project
- 选择Maven Archetype
- 配置JDK,选择已安装的JDK8
- 填写项目名称和目录,点击Finish
- GroupId:你的组织或项目名称,例如 com.example。
- ArtifactId:项目的名称,例如 spark-app。
- Version:默认即可(例如 1.0-SNAPSHOT)。
4.配置 Spark 依赖
1.打开项目中的 pom.xml 文件,添加 Spark 相关依赖:
<dependencies>
<!-- Spark Core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.4.1</version>
</dependency>
<!-- Spark SQL -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>3.4.1</version>
</dependency>
</dependencies>
2.点击 IDEA 中的 Maven 面板,点击刷新按钮(右上角的箭头),下载依赖。
4.编写 Spark 程序
1.在 src/main/java
或 src/main/scala
中创建你的程序文件。例如创建一个 WordCountApp.java
。
2.编写 Spark 应用程序:
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.sql.*;
import java.util.Arrays;
public class WordCountApp {
public static void main(String[] args) {
SparkSession spark = SparkSession.builder()
.appName("WordCountApp")
.master("local[*]") //本地运行模式
.getOrCreate();
Dataset<Row> data = spark.read().text("input.txt");
Dataset<Row> wordCounts = data
.flatMap((FlatMapFunction<Row,String>)row -> Arrays.asList(row.getString(0).split(" ")).iterator(), Encoders.STRING())
.groupBy("value")
.count();
wordCounts.show();
spark.stop();
}
}
input.txt的内容如下:
hello world
hello spark
hello world from java
spark is fun and easy to use
apache spark is a fast and general engine for large-scale data processing
data processing with spark is both fast and simple
spark can be used for streaming batch processing machine learning and graph processing
hello apache spark
5.运行和调试
1.在 IDEA 中,右键点击 WordCountApp 文件,选择 Run 'WordCountApp'。
2.如果运行成功,你会看到 Spark 的日志输出以及程序的运行结果。
运行结果如下: