当前位置: 首页 > article >正文

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,以保存更改。


http://www.kler.cn/news/312852.html

相关文章:

  • Ubuntu 与Uboot网络共享资源
  • Lua编程语言简介与应用
  • 【python设计模式4】结构型模式1
  • 专利管理系统如何确保专利资产持续有效?
  • (蓝桥杯)STM32G431RBT6(TIM4-PWM)
  • 【结构型】树形结构的应用王者,组合模式
  • setImmediate() vs setTimeout() 在 JavaScript 中的区别
  • 全志A133 android10 适配EC20 4G模块
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-Gradio快速体验(十四)
  • 音频评价指标
  • MATLAB系列04:循环结构
  • 海外云市场分析
  • Linux编程:解析EAGAIN错误 Resource temporarily unavailable
  • neo4j节点关联路径的表示、节点的增删改查
  • 电线电缆制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
  • 标题:深入理解Linux操作系统:从原理到实践
  • win/mac常用命令
  • 浅谈死锁以及判断死锁的方法
  • Parallels Desktop 20破解版(Mac虚拟机) v20.0.0 for Mac 最新商业版(支持M系列)
  • 揭开数据能力的神秘面纱
  • 当你问AI“有点烦”
  • Python “函数” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业
  • VSCode的使用
  • 人工智能与量子计算:进展与未来挑战
  • Pyspark dataframe基本内置方法(5)
  • 无线感知会议系列【3】【基于WiFi和4G/5G的非接触无线感知:挑战、理论和应用-1】
  • 【Unity踩坑】UI Image的fillAmount不起作用
  • Oracle 19c异常恢复—ORA-01209/ORA-65088---惜分飞
  • 如何运用专利管理系统的提醒功能,确保专利管理无遗漏?
  • 智能BI项目第五期