Scala环境搭建及安装

news2024/12/23 3:59:31

salca环境搭建

       由于scala是基于java来开发的, 编写的java类可以使用javac命令编译成.class文件被JVM加载到内存中执行 ! 那么scala可以通过scalac命令将编写的scala文件编译成.class文件一样被JVM加载到内存中,因此Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK!

 1.Windows安装Scala编译器

方式一

访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是3.1.3,但是目前大多数的框架都是用2.12.x编写开发的,Spark3.x使用的就是2.12.x,所以这里推荐2.12.x版本,下载scala-2.12.11.msi后点击下一步就可以了!

方式二

解压配置系统环境变量

 在windows的控制台输入scala ,显示如下消息说明windows环境搞定!

 

 注意 1:解压路径不能有任何中文路径,最好不要有空格。

注意 2:环境变量要大写 SCALA_HOME

 

测试:

需求:计算两数 a 和 b 的和。

步骤:

1.在键盘上同时按 win+r 键,并在运行窗口输入 cmd 命令

2.输入 Scala 并按回车键,启动 Scala 环境。然后定义两个变量,并计算求和。

 示例:写一个 wordCount

import scala.io.Source

Source.fromFile("C:\\Users\\yi\\Desktop\\wc.txt")
.getLines
.toList
.flatMap(_.split(","))
.groupBy(w=>w)
.map(t=>(t._1,t._2.size))
.foreach(println)

 2.Linux安装Scala编译器

  1. 下载后上传Scala文件到linux上的定目录

  2. 解压

  3. 配置环境变量,将scala加入到PATH中

 vi /etc/profile

export SCALA_HOME=/opt/app/scala/scala-2.12.11

export PATH=$PATH:$JAVA_HOME/bin:/usr/java/scala-2.12.11/bin

 测试验证scala安装完成,任意位置输入scala后显示scala的命令行,然后在里面测试两数相加

 3.scala安装插件

方法一:离线安装

打开jetbrains得官网:http://www.jetbrains.com后点击Develop Tools后选择scala

 

 然后选择idea对应得版本下载插件(DownLoad即可)

 打开idea后找到左上角得File --》settings --》plugins

 点击设置选择Install Plugin from Disk ...后选择刚才下载得插件,点击ok后重启idea即可

 方法二:在线安装

打开idea后找到左上角得File --》settings --》plugins--》搜索scala后install后重启idea即可

 

 4 创建scala项目并编写HelloWorld案例

  1. 创建一个maven项目

  2. 在src--》main--》创建一个scala包

  3. 右击scala包下选择Mark Directory as --》 Sources Root

4.右击项目名--》Add Framework Support...

 5.进去选择scala,然后将scala得sdk添加进去,点击ok即可创建scala类了

 

编写scala得类

  1. scala文件都是以.scala结尾的

  2. scala中的命名规范和java中的一致

  3. scala中的main方法要写在objec修饰的类中

  4. scala的执行流程和java的类似 , 先编译再执行,因此有编译期的错误推导

  5. scala 代码中的行末尾的分号最好不书写 ,体现其简洁

package com.doit.day01
object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("学大数据来多易")
    System.out.println("java中的一部分代码在scala中也是可以运行的")
  }
}

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

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

相关文章

【SpringBoot实战专题】「开发实战系列」全方位攻克你的技术盲区之SpringBoot整合众多日志管理系统服务starter-logging

全方位攻克你的技术盲区之SpringBoot整合众多日志管理系统服务starter-logging 前提介绍Spring默认日志文件Spring的日志配置参数logging.levelmaven配置properties文件yaml文件 logging.fileapplication.yml中配置 logging.pathapplication.properties配置application.yml配置…

基于DBACAN的道路轨迹点聚类

目录 前言道路栅格化轨迹聚类参考资料 前言 很多针对道路轨迹的挖掘项目前期都需要对道路进行一段一段的分割成路段,然后对每一个路段来单独进行考察,如设定路段限速标识,超速概率等,如何对道路进行划分,其实是一个很…

华为OD机试真题 JavaScript 实现【滑动窗口】【2023 B卷 100分】,附详细解题思路

一、题目描述 有一个N个整数的数组,和一个长度为M的窗口,窗口从数组内的第一个数开始滑动直到窗口不能滑动为止,每次窗口滑动产生一个窗口和(窗口内所有数和和),求窗口滑动产生的所有窗口和的最大值。 二…

python: read excel

""" Insurance。py edit: geovindu,Geovin Du,涂聚文 date 2023-06-13 保险类 """import sys import osclass Insurance:"""保险类"""def __init__(self, InsuranceName, InsuranceCost, IMonth):&quo…

STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例)

使用QUADSPI读写W25Q64 QUADSPI介绍硬件连接双闪存模式禁止双闪存模式使能 QUADSPI命令序列指令阶段地址阶段交替字节阶段空指令周期阶段数据阶段 QUADSPI主要信号接口协议模式单线SPI模式双线SPI模式四线SPI模式 使用QUADSPI操作W25Q64发送命令函数状态轮询函数读ID函数QUADSP…

应用案例 | FG-200:通过Modbus将FF H1设备集成到DCS系统

一 背景 FOUNDATION Fieldbus(FF)协议是一种现代化的数字通信协议,其中FF H1协议在大型的化工、电力、石油等流程工业领域得到了广泛应用。由于FF H1协议具有诸多优势,例如高度可靠性、高速数据传输、强大的诊断能力和灵活的设备…

第4章 总体设计

文章目录 第5章 总体设计5.1 设计过程例题 5.2 设计原理5.2.1 模块化模块化的优势 例题5.2.2 抽象5.2.3 逐步求精求精实际上是细化的过程与抽象的关系 5.2.4 信息隐藏和局部化5.2.5 模块独立模块独立的重要性模块独立的定性标准度量耦合① 无直接耦合② 数据耦合③ 标记耦合④ …

MySQL数据库基础 11

第十一章 数据处理之增删改 1. 插入数据1.1 实际问题1.2 方式1:VALUES的方式添加1.3 方式2:将查询结果插入到表中 2. 更新数据3. 删除数据4. MySQL8新特性:计算列 1. 插入数据 1.1 实际问题 解决方式:使用 INSERT 语句向表中插入…

8.1 正弦波振荡电路(2)

四、石英晶体正弦波振荡电路 石英晶体谐振器,简称石英晶体,具有非常稳定的固有频率。对于振荡频率稳定性要求高的电路,应选用石英晶体作选频网络。 1、石英晶体的特点 将二氧化硅( SiO 2 \,\textrm {SiO}_2\, SiO2​&#xff0…

华为OD机试真题 JavaScript 实现【找终点】【2023 B卷 100分】,附详细解题思路

一、题目描述 给定一个正整数数组&#xff0c;设为nums&#xff0c;最大为100个成员&#xff0c;求从第一个成员开始&#xff0c;正好走到数组最后一个成员&#xff0c;所使用的最少步骤数。 要求&#xff1a; 第一步必须从第一元素开始&#xff0c;且1 < 第一步的步长 &…

测试 4 年,从外包 15K 跳槽去字节 38K+12,啃完这份笔记你也可以

粉丝小王转行做测试已经是第4个年头&#xff0c;一直是一个不温不火的小职员&#xff0c;本本分分做着自己的事情&#xff0c;觉得自己的工作已经遇到了瓶颈&#xff0c;一个偶然的机会&#xff0c;获得了一份软件测试全栈知识点学习笔记&#xff0c;通过几个月的学习&#xff…

虚拟机(VMware )部署

一、VMware 概述&#xff1a; VMware是一家提供虚拟化解决方案的领先公司&#xff0c;其产品被广泛应用于企业和个人用户的计算环境中。VMware的虚拟化技术可以将物理计算资源&#xff08;如服务器、存储和网络&#xff09;抽象成虚拟化的资源&#xff0c;从而提供更高的灵活性…

路径规划算法:基于黑猩猩优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于黑猩猩优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于黑猩猩优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法…

MySQL之流程控制,索引

一、条件语句 if 条件语句 delimiter // CREATE PROCEDURE proc_if () BEGINdeclare i int default 0;if i 1 THENSELECT 1;ELSEIF i 2 THENSELECT 2;ELSESELECT 7;END IF;END // delimiter ; 二、循环语句 while循环 delimiter // CREATE PROCEDURE proc_while () BEGI…

测试用例设计背后的底层逻辑你一定不知道

目录 前言 1、万物皆可测 2、用例的本质 3、业务建模 4、其他一些测试法 总结&#xff1a; 前言 测试用例是每位测试人员都绕不开的话题&#xff0c;也是大家习以为常的事情。几乎所有测试相关的公众号、博客、专栏&#xff0c;都会提及测试用例&#xff0c;由此可见它的…

华为OD机试真题 JavaScript 实现【矩阵稀疏扫描】【2023 B卷 100分】,附详细解题思路

一、题目描述 如果矩阵中的许多系数都为零&#xff0c;那么该矩阵就是稀疏的。对稀疏现象有兴趣是因为它的开发可以带来巨大的计算节省&#xff0c;并且在许多大的实践中都会出现矩阵稀疏的问题。 给定一个矩阵&#xff0c;现在需要逐行和逐列地扫描矩阵&#xff0c;如果某一…

备战金九银十,互联网大厂最全“Java 面试宝典 +Java 核心知识集”汇总

搬砖也有好几年了&#xff0c;本想在金三银四跳槽来着&#xff0c;结果我想你们应该猜到了&#xff0c;于是计划着下半年跳槽试试&#xff0c;算是提前为金九银十做准备吧&#xff01; 现在着手准备着以防万一自己措手不及&#xff0c;这不&#xff0c;这几天刚整理出炉的两份…

强化学习笔记-11 Off-policy Methods with Approximation

前几章我们讨论了off-policy方式&#xff0c;其同on-policy方式最大的不同之处在于其在训练所采取的动作&#xff0c;是根据behavior policy进行决策的&#xff0c;而不是根据target policy。这种方式的好处在于兼顾了exploitation and exploration。本节将讨论如何通过模型近似…

Spring MVC 的创建连接和使用

目录 前言&#xff1a; MVC 是什么&#xff1f; 1. Spring MVC 项目的创建和连接&#xff1a; 1.1 创建 1.2 连接 2. RequestMapping 注解使用详析&#xff1a; 2.1 指定请求类型&#xff1a; 2.1.1 指定 GET 请求 2.1.2 指定 POST 请求 3. 参数的获取与传递&#xff1a; 3.1 传…