【20250607接单】Spark + Scala + IntelliJ 项目的开发环境配置从零教学

本教程适用于零基础一台刚装好 Windows 的全新电脑开始,搭建能运行 Spark + Scala + IntelliJ 项目的开发环境。以下是超详细、小白级别逐步教程,从“下载什么”到“点击哪里”都帮你列清楚。


🎯 目标

  • 操作系统:Windows10/11
  • 工具:openJDK、Scala、Spark、sbt、IntelliJ IDEA、winutils
  • 最终效果:在 IntelliJ 中运行你上传的 Spark 程序(Explore.scala)

🧰 一、安装开发工具(5 步)

✅ 1. 安装 openJDK(Java)

📥 下载地址(华为镜像):

👉 https://mirrors.tuna.tsinghua.edu.cn/Adoptium/8/jdk/x64/windows/
在这里插入图片描述

🚀 安装步骤:
  • 双击安装,点“下一步”即可。
  • 修改设置或重写JAVA_HOME变量,点击下一步,完成安装。
    在这里插入图片描述
✅ 测试:

打开命令提示符(Win + R 输入 cmd):
在这里插入图片描述
输入命令行:

java -version

在这里插入图片描述


✅ 2. 安装 Scala

📥 下载地址(官网):

👉 https://www.scala-lang.org/download/2.12.20.html
在这里插入图片描述

🚀 安装步骤:
  • 双击 .msi 安装
  • 一路next
    在这里插入图片描述
✅ 测试:

打开命令提示符(Win + R 输入 cmd):

scala -version

在这里插入图片描述


✅ 3. 安装 Spark

📥 下载地址(Spark 3.5.6,清华源):

👉 https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.5.6/
在这里插入图片描述

🚀 安装步骤:
  1. 解压缩 .tgz 文件到任意目录(不要解压在包含中文或空格的路径下)
  2. 得到目录:spark-3.5.6-bin-hadoop3
⚙️ 配置环境变量:

打开「控制面板」→「系统」→「高级系统设置」→「环境变量」

  • 找到 系统变量下的Path
  • 添加 spark安装目录\binPath
    在这里插入图片描述
✅ 测试:
spark-shell --version

在这里插入图片描述


✅ 4. 安装 Hadoop Winutils(适配 Windows)

📥 下载地址(Gitee):

👉 https://github.com/cdarlint/winutils/tree/master/hadoop-3.3.5/bin

下载:

  • winutils.exe

winutils.exe复制到:(自己创建)

C:\hadoop\bin\
⚙️ 配置环境变量:
  • 添加 C:\hadoop\binPath
✅ 测试:
winutils.exe

在这里插入图片描述


✅ 5. 安装 sbt(Scala 构建工具)

📥 下载地址(官网):

👉 https://www.scala-sbt.org/download/
在这里插入图片描述

🚀 安装步骤:
  • 双击安装,默认设置即可
    在这里插入图片描述
✅ 测试:
sbt sbtVersion

在这里插入图片描述


💻 二、安装 IntelliJ IDEA + 配置项目

✅ 1. 下载 IntelliJ IDEA 社区版(免费)

👉 官网:https://www.jetbrains.com/idea/download
在这里插入图片描述
在这里插入图片描述

下载安装后,打开IDEA

✔ 安装插件:

  • ✅ Scala(必须)
    在这里插入图片描述

✅ 2. 创建新 Scala + sbt 项目

📁 项目结构(自动生成):
🚀 创建步骤:
  1. 打开 IntelliJ IDEA → File > New > Project

  2. 左侧选择 Scala → 右侧选 sbt

  3. 配置:

    • 项目名:test
    • Scala SDK:选择 2.12.20
    • sbt 版本:1.11.1
  4. 创建完成
    在这里插入图片描述


✅ 3. 编辑 build.sbt

ThisBuild / version := "0.1.0-SNAPSHOT"ThisBuild / scalaVersion := "2.12.20"lazy val root = (project in file(".")).settings(name := "test")libraryDependencies ++= Seq("org.apache.spark" %% "spark-core" % "3.5.6","org.apache.spark" %% "spark-sql" %  "3.5.6","org.apache.spark" %% "spark-hive" % "3.5.6"
)

在这里插入图片描述


📄 三、运行你的代码文件

在scala文件夹下新建Explore.scala文件
在这里插入图片描述在这里插入图片描述

将你的代码文件复制 Explore.scala 中:
在这里插入图片描述
sbt下载配置依赖:
在这里插入图片描述
代码文件修改以下地方:
其中第三处文件位置填你自己csv文件存放的地址。
在这里插入图片描述
点击绿色三角运行即可:
在这里插入图片描述
出现如下结果即代码运行正常。
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/908531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ubuntu】虚拟机安装配置,sh脚本自动化,包含 apt+时间同步+docker+mysql+redis+pgsql

可以说是ubuntu基础环境搭建合集,个人学习用,使用sh一键安装,避免复制各种命令 流程主要包括 0. 可选择不同ubuntu版本对应安装(支持 Ubuntu 20.04/22.04/23.04/24.04) 1. apt换源aliyun 2. 时间选择上海时区&#x…

Rust 学习笔记:关于智能指针的练习题

Rust 学习笔记:关于智能指针的练习题 Rust 学习笔记:关于智能指针的练习题问题一问题二问题三问题四问题五问题六问题七问题八问题九问题十问题十一 Rust 学习笔记:关于智能指针的练习题 参考视频: https://www.bilibili.com/vi…

JavaScript ES6 解构:优雅提取数据的艺术

JavaScript ES6 解构:优雅提取数据的艺术 在 JavaScript 的世界中,ES6(ECMAScript 2015)的推出为开发者带来了许多革命性的特性,其中“解构赋值”(Destructuring Assignment)无疑是最受欢迎的功…

Shell 命令及运行原理 + 权限的概念(7)

文章目录 Shell 命令以及运行原理(4-1.22.08)Linux权限的概念1. 什么是权限2. 认识人(普通用户,root用户)以及两种用户的切换认识普通用户和root用户两种用户之间的切换指令提权 3. 文件的属性解析 权限属性指令ll显示…

以智能管理为基础,楼宇自控打造建筑碳中和新路径

在全球气候变化的严峻形势下,“碳中和”已成为各国发展的重要战略目标。建筑行业作为能源消耗与碳排放的“大户”,其运行阶段的能耗占全社会总能耗近40%,碳排放占比与之相当,实现建筑碳中和迫在眉睫。传统建筑管理模式下&#xff…

Python爬虫实战:研究Hyper 相关技术

一、项目概述 本项目展示了如何结合 Python 的异步编程技术与 Hyper 框架开发一个高性能、可扩展的网络爬虫系统。该系统不仅能够高效地爬取网页内容,还提供了 RESTful API 接口,方便用户通过 API 控制爬虫的运行状态和获取爬取结果。 二、系统架构设计 1. 整体架构 系统采…

html 滚动条滚动过快会留下边框线

滚动条滚动过快时,会留下边框线 但其实大部分时候是这样的,没有多出边框线的 滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行为有关。这种问题可能出现在使用了自定义滚动条样式的情况下。 注意:使用方法 6 好使,其它…

【Linux】Ubuntu 创建应用图标的方式汇总,deb/appimage/通用方法

Ubuntu 创建应用图标的方式汇总,deb/appimage/通用方法 对于标准的 Ubuntu(使用 GNOME 桌面),desktop 后缀的桌面图标文件主要保存在以下三个路径: 当前用户的桌面目录(这是最常见的位置)。所…

【自然语言处理】大模型时代的数据标注(主动学习)

文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构D 实验设计E 个人总结 A 论文出处 论文题目:FreeAL: Towards Human-Free Active Learning in the Era of Large Language Models发表情况:2023-EMNLP作者单位:浙江大…

【论文解读】DeepSeek-R1

文章目录 概览一、DeepSeek-R1-Zero:在 Base Model 上直接进行 RL(一)强化学习算法(二)奖励模型(三)数据构造(四)DeepSeek-R1-Zero 的性能、自我进化过程和 Aha Moment1.…

巴西医疗巨头尤迈Kafka数据泄露事件的全过程分析与AI安防策略分析

一、事件背景与主体信息 涉事主体:Unimed,全球最大医疗合作社,巴西医疗行业龙头企业,拥有约1500万客户。技术背景:泄露源于其未保护的Kafka实例(开源实时数据传输平台),用于客户与聊天机器人“Sara”及医生的实时通信。二、时间线梳理 时间节点关键事件描述2025年3月24…

软信天成:数据驱动型背后的人工智能,基于机器学习的数据管理

在数字化转型浪潮中,当代企业如同逆水行舟,不进则退。无数企业希望通过数字化转型捕获全新的市场机遇,改善财政状况,在未来市场竞争中占据一席之地。要想获得成功的数字化转型,关键因素在于具备可靠、及时的数据用以支…

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…

【Java学习笔记】StringBuilder类(重点)

StringBuilder(重点) 1. 基本介绍 是一个可变的字符串序列。该类提供一个与 StringBuffer 兼容的 API,但不保证同步(StringBuilder 不是线程安全的) 该类被设计用作 StringBuffer 的一个简易替换,用在字符…

计算机网络 | 1.2 计算机网络体系结构与参考模型

计算机网络体系结构与参考模型 目录 计算机网络体系结构与参考模型 【思维导图】 1、计算机的分层结构 1、为什么要分层? 2、什么是计算机网络体系结构 2、计算机网络协议、接口和服务 1)协议: 2)接口: 3…

微软的新系统Windows12未来有哪些新特性

在今年即将到来的重大设计升级中,苹果计划对其全线操作系统统一按年份命名,作为另一巨头微软的win12还远吗?win11和win10是微软现在正在用的主流版本,win11系统发布于2021年6月24日,win10系统发布于2015年7月29日。预计win12尝鲜版可能在2025年下半年或明年。 尽管win12还…

制造业数智化卡在知识断层?R²AIN SUITE AI知识管理打通关键经络

在一家工厂里,工程师正面临棘手难题——某机器异常振动的处理方案。他的笔记本记录着三年前类似案例的解决方案,但翻查半小时仍未找到关键参数。与此同时,工厂的碳排放监控系统显示,因设备停机导致的额外能源损耗已使产线碳强度有…

构造数列中的常见变形总结

前情概要 针对高考中构造数列的常见变形做一总结,便于梳理思路,提升思维。 类型Ⅰ: 形如 a n + 1 = p ⋅ a n + q a_{n+1}=p\cdot a_n+q an+1​=p⋅an​+q, p , q p,q p,q为常数,即 a n + 1 = f ( a n ) a_{n+1}=f(a_n) an+1​=f(an​),构造变形方向: 其一: a n…

全国县域统计年鉴PDF-Excel电子版-2022年

全国县域统计年鉴PDF-Excel电子版-2022年.ziphttps://download.csdn.net/download/2401_84585615/89784662 https://download.csdn.net/download/2401_84585615/89784662 《中国县域统计年鉴》是一部全面反映中国县域社会经济发展状况的资料性年鉴。自2014年起,该年…

81 实战一:给root目录扩容

添加一块100G硬盘 vgextend centos /dev/sdb1 /dev/sdc lvextend -L +120G /dev/centos/root xfs_growfs /dev/centos/root df -h 看是否扩容成功 82 实战二:给swap空间扩容 添加一块20G硬盘 fdisk -l 可以看到新添加的硬盘 vgextend centos /dev/sdd …