MAC M3电脑在idea上搭建Spark环境并跑通第一个程序

我的电脑是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/javasrc/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 的日志输出以及程序的运行结果。

运行结果如下:

相关推荐
李少兄13 小时前
IntelliJ IDEA 远程调试(Remote Debugging)教程
java·ide·intellij-idea
开开心心就好13 小时前
电子报纸离线保存:一键下载多报PDF工具
网络·笔记·macos·pdf·word·音视频·phpstorm
梦里不知身是客1113 小时前
sparkSQL读取数据的方式
spark
故事不长丨15 小时前
【Java SpringBoot+Vue 实现视频文件上传与存储】
java·javascript·spring boot·vscode·后端·vue·intellij-idea
屹奕16 小时前
IDEA多实例项目启动模拟负载均衡
ide·intellij-idea
少废话h20 小时前
Spark 中数据读取方式详解:SparkSQL(DataFrame)与 SparkCore(RDD)方法对比及实践
大数据·sql·spark
大千AI助手20 小时前
分布式奇异值分解(SVD)详解
人工智能·分布式·spark·奇异值分解·svd·矩阵分解·分布式svd
淡忘_cx21 小时前
Dify 插件开发与打包教程 (Mac)
macos
2501_9159184121 小时前
App 上架苹果商店全流程详解 从开发者账号申请到开心上架(Appuploader)跨平台免 Mac 上传实战指南
macos·ios·小程序·uni-app·objective-c·cocoa·iphone
邪恶紫色秋裤21 小时前
解决IntelliJ IDEA控制台输出中文乱码问题
java·ide·乱码·intellij-idea·报错·中文