spark-scala使用与安装(一)

Scala 简介

Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。

Scala 编译器安装

2.1. 安装JDK

因为Scala是运行在JVM平台(java虚拟机)上的,所以安装Scala之前要安装JDK。

JDK(Java Development Kit)是一个完整的开发工具包, 是 Java 开发的基础,提供的是编写、编译和运行 Java 程序所需的基础工具和库,其中包括了 JRE(Java Runtime Environment),而 JRE 又包含了 JVM(Java Virtual Machine)。这些都是 IntelliJ IDEA 依赖的外部工具。为了能够在 IntelliJ IDEA 中编写和运行 Java 程序,你需要在你的系统上安装 JDK,并在 IntelliJ IDEA 中配置它以使用该 JDK。JDK类似于 Python 生态系统中的 Python 解释器和标准库。Python 自带的解释器和标准库让你可以编写和运行 Python 程序。PyCharm 是一个集成开发环境(IDE),类似于 Java 生态系统中的 IntelliJ IDEA 或 Eclipse 这样的 IDE。

JDK1.8安装包:https://gitcode.com/open-source-toolkit/3f28a/overview?utm_source=highlight_word_gitcode\&word=JDK1.8\&isLogin=1

2.2. 安装Scala

目前最新版本是2.12.x,但是目前大多数的框架都是用2.11.x编写开发的,Spark2.x使用的就是2.11.x,所以推荐2.11.x版本。

Scala2.11.12安装教程:https://blog.csdn.net/tttzzzqqq2018/article/details/132137253

2.3. Scala开发工具安装

目前Scala的开发工具主要有两种:Eclipse和IDEA,常用:IntelliJ IDEA。

IntelliJ IDEA安装教程:https://mp.weixin.qq.com/s/KN5ThUj5z69speRT9b7k6w

其他

IntelliJ IDEA的版本会限制scala版本的使用吗?

IntelliJ IDEA 本身通常不会严格限制你使用的 Scala 版本,但某些情况下,IDEA 的 Scala 插件版本可能会对 Scala 版本有一些影响。IntelliJ IDEA 中的 Scala 插件是一个扩展工具,它为 IntelliJ IDEA 提供了对 Scala 编程语言的支持。这个插件使得开发者能够在 IntelliJ IDEA 中高效地编写、运行和调试 Scala 代码。

  • 多版本 Scala 支持:Scala 插件支持多个版本的 Scala,开发者可以根据项目需求选择合适的 Scala SDK 版本。
【Scala 插件使用】
  • 打开 IntelliJ IDEA,进入 File > Settings(在 macOS 上是 IntelliJ IDEA > Preferences)。
  • 在设置窗口中,选择 Plugins。
  • 搜索 Scala 插件,然后点击 Install 按钮进行安装。
  • 安装完成后,重启 IntelliJ IDEA 以使插件生效。
添加多个 Scala SDK 版本

1.打开项目结构设置

在 IntelliJ IDEA 中,导航到 File > Project Structure

2.添加 Scala SDK:

Global Libraries--点击上方的 + 按钮,然后选择 Scala SDK。IDEA 会显示一个对话框,允许你选择要下载和安装的 Scala 版本。选择所需的 Scala 版本(例如 2.11.12)并点击 OK------IDEA 会自动下载并配置所选版本的 Scala SDK。

在项目中使用特定的 Scala SDK - 配置项目的 Scala SDK:

打开 Project Structure 窗口-选择 Modules-选择你想配置的模块,然后在右侧的 Dependencies 选项卡中找到 Scala SDK-点击 Scala SDK 下拉菜单,选择你之前添加的特定 Scala SDK 版本-点击 Apply 和 OK,以保存更改。

相关推荐
阿里云大数据AI技术14 小时前
StarRocks x Fluss x Paimon湖流一体方案:构建秒级响应、湖流一体的实时数据引擎
大数据·人工智能
Databend14 小时前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
喵个咪15 小时前
Go Wind UBA 拆解系列 - 架构总览:三服务、数据流与契约优先
大数据·后端·go
喵个咪15 小时前
Go Wind UBA 拆解系列 - 多租户与安全:两套隔离机制的边界
大数据·后端·go
喵个咪15 小时前
Go Wind UBA 拆解系列 - OLAP 与 SQL 硬核:25 个分析模型怎么落地
大数据·后端·go
喵个咪15 小时前
Go Wind UBA 拆解系列 - SDK 与采集层:从浏览器到 Kafka
大数据·后端·go
QCC产品中心19 小时前
MiniMax Agent 接入实测:企业查询、股权穿透与 UBO 识别(附 Prompt 模板)
大数据·mcp·金融/非金融
SelectDB2 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
ApacheSeaTunnel2 天前
当多表数据涌入,Apache SeaTunnel 如何巧妙化解主键冲突?
大数据·开源·数据集成·seatunnel·技术分享·数据同步
大大大大晴天5 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据