Mac M3电脑上使用IntelliJ IDEA搭建Spark开发环境教程
创作时间:
作者:
@小白创作中心
Mac M3电脑上使用IntelliJ IDEA搭建Spark开发环境教程
引用
CSDN
1.
https://m.blog.csdn.net/qq_45257495/article/details/144417685
本文将详细介绍如何在Mac M3电脑上使用IntelliJ IDEA搭建Spark开发环境。从环境准备(JDK、Spark、Maven安装)到IDE配置(Scala插件安装)、项目创建、依赖配置,再到编写和运行第一个Spark程序,手把手教你快速入门Spark开发。
1. 准备工作
1.1 安装 JDK
确保Mac 上已经安装了 JDK 8 或更高版本。可通过以下命令查看是否安装:
java -version
如果输出显示已安装JDK,则说明安装成功。若未安装,可参考JDK8安装教程进行安装。
1.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 shell界面,说明Spark安装成功。
1.3 安装 Maven(如果未安装)
- 安装命令:
brew install maven
- 验证:
mvn -v
如果显示Maven版本信息,说明安装成功。
2. 配置 IntelliJ IDEA
2.1 打开IDEA
启动IntelliJ IDEA。
2.2 安装 Scala 插件
- 打开 IDEA -> Preferences -> Plugins -> Marketplace
- 搜索 Scala 并安装插件。
2.3 创建新项目
- 选择New Project
- 选择Maven Archetype
- 配置JDK,选择已安装的JDK8
- 填写项目名称和目录,点击Finish
- GroupId:你的组织或项目名称,例如 com.example。
- ArtifactId:项目的名称,例如 spark-app。
- Version:默认即可(例如 1.0-SNAPSHOT)。
2.4 配置 Spark 依赖
- 打开项目中的 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>
- 点击 IDEA 中的 Maven 面板,点击刷新按钮(右上角的箭头),下载依赖。
3. 编写 Spark 程序
- 在
src/main/java或src/main/scala中创建你的程序文件。例如创建一个WordCountApp.java。 - 编写 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
4. 运行和调试
- 在 IDEA 中,右键点击 WordCountApp 文件,选择 Run ‘WordCountApp’。
- 如果运行成功,你会看到 Spark 的日志输出以及程序的运行结果。
运行结果如下:
热门推荐
我国第一辆“全躺列车” 从头躺到尾连个站都不停 旅客的最爱
劳动仲裁程序与诉讼程序的比较与分析
如何分析板块资金流向?把握投资先机
以休克为首发表现的川崎病:一例罕见病例报告及文献回顾
川崎病休克综合征临床表现
汽车销售工资的构成是什么?这种构成对销售人员有哪些激励作用?
被动型基金拿平均收益 主动型基金赢在赛道
如何判断基金的风险程度?低风险基金具有哪些特征?
代入感太强了!孤独时代的共鸣与反思,这是当代许多年轻人的真实写照!
瘫痪老人饮水呛咳怎么办?5个实用解决方案
如何让旧车焕然一新?翻新过程中有哪些实用技巧?
基于单片机的WiFi家电开关控制系统设计
乒乓球长胶选手最怕的3种发球,想赢下比赛就都要学一下
抓住乒乓球长胶选手欺硬怕软的命门,反胶选手的5种合理回击方式
如何根据车辆使用情况选择合适的保险方案?这种选择在实际操作中需要考虑哪些因素?
黄酒国家标准:从原料到工艺的全方位规范
私藏铠甲的法律风险:从法律规定到司法实践的全面解析
《鹊刀门传奇2》:东北江湖的烟火气与侠义魂——一场笑中带泪的武侠盛宴
解析《花样年华》删减吴哥窟重逢片段的深层意图
控制理论在现代工业中的应用研究
南京文旅观察⑩ | 秋日色卡⇋花园城市,南京入秋美如金陵
拍摄打铁花相机的参数
掌握技巧拍摄打铁花
雨城区多措并举筑牢森林防火安全屏障
尼泊尔语言政策:一个多民族国家的多样性保护之路
养老保险继承指南:个人账户余额、抚恤金及代位继承规定
家庭存款高于这个数,你就是“富裕家庭”?这份存钱指南请收好
ETF 的投资风险与股票投资风险有何不同?如何进行风险对比分析?
如何计算3匹空调7200w一晚上的电费?如何降低空调的耗电量?
年报业绩大增股引关注,4只个股净利同比翻倍(附名单)