Scala环境搭建及安装
作者:mmseoamin日期:2023-12-14

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后点击下一步就可以了!

方式二

解压配置系统环境变量

Scala环境搭建及安装,第1张

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

Scala环境搭建及安装,第2张 

 注意 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

 Scala环境搭建及安装,第3张

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

Scala环境搭建及安装,第4张

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

Scala环境搭建及安装,第5张

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

Scala环境搭建及安装,第6张

 方法二:在线安装

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

Scala环境搭建及安装,第7张

 Scala环境搭建及安装,第8张

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

  1. 创建一个maven项目

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

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

Scala环境搭建及安装,第9张

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

Scala环境搭建及安装,第10张

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

Scala环境搭建及安装,第11张

 

编写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中也是可以运行的")
  }
}