Spark基础学习笔记04:Scala简介与安装

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark基础学习笔记04:Scala简介与安装相关的知识,希望对你有一定的参考价值。

文章目录

零、本讲学习目标

  1. 了解Scala语言的特点
  2. 学会搭建Scala开发环境

一、Scala简介

(一)Scala概述

  • Scala是Scalable Language的简写,是一门多范式的编程语言,由联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计,设计初衷是要集成面向对象编程和函数式编程的各种特性。
  • Scala是一种纯面向对象的语言,每个值都是对象。同时Scala也是一种函数式语言,其函数也能当成值来使用。由于Scala整合了面向对象语言和函数式编程的特性,Scala相对于Java、C#、C++等其他语言更加简洁。
  • Scala源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。Scala一开始就打算基于Java的生态系统发展自身,而这令Scala受益匪浅。

(二)函数式编程

  • 函数式编程:将所有复杂的问题的解决,拆分为若干函数的处理。每一个函数可以去实现一部分功能,利用很多次函数的处理,最终解决问题。

  • 函数式编程相对于面向对象编程,更加的抽象,好处是,代码可以非常的简洁,更多的采用常量而不是变量来解决问题,这样额外带来的好处:在线程并发时,可以减少甚至杜绝多线程并发安全问题,特别适合于应用在处理高并发场景、分布式场景下的问题。函数式编程可以使用高阶函数,函数是一等公民,可以更加灵活的进行程序的编写。

  • 函数式编程并不是面向对象编程的发展,而是另外一种解决问题的思路,两者之间也并没有绝对的好坏之分,在不同的场景中各有各的优缺点。

(三)完全兼容Java

.java ⟹ \\Longrightarrow .class ⟹ \\Longrightarrow jvm
.scala ⟹ \\Longrightarrow .class ⟹ \\Longrightarrow jvm

  • Scala 是完全兼容Java的,其实Scala就是在Java语言的基础上增加了一层编码的 “壳”,让程序人员可以通过函数式编程的方式来开发程序。由于Scala最终被编译为.class,所以其实本质上还是Java,所以在Scala中可以任意的调用Java的API。
  • 好处显而易见:1. 让Jva程序员可以更无障碍的转到Scala;2. 让原先Java的API仍然可以在Scala中使用;3. 公司中的Java平台不用替换就可以使用Scala。

(三)Scala特性

  • 在很多地方Scala都很像Java,也是静态类型语言,但是比Java更为函数式编程,这句话主要从三句话就可以理解“一切都是对象”,“一切都是函数”以及“一切都是表达式”三方面理解。

1、一切都是对象

  • Scala里一切都是对象,这大概和Python很像,因为即便是数字1都有一系列的方法,所以我们可以调用1.toDoubleInt类型的1转换为Double类型的1

2、一切都是函数

  • 表现为可以重载操作符,跟Python很像,在一定程度上ScalaJavaPython生的孩子,只不过遗传基因比较大的卵子是Java提供的,而比较小的那颗精子则是Python提供的。

3、一切都是表达式

  • Scala里,一切都是表达式,即使像if()else这样的语句块也是有返回值的。

(四)在线运行Scala

  • 通过浏览器访问:Scala在线工具
  • 单击【点击运行】按钮,可以查看代码运行结果
  • 大家可以对照一下JavaHelloWorld程序,两者完全一一对应,相似度极高

二、Windows上安装Scala

(一)下载Scala

三、Linux上安装Scala

以上是关于Spark基础学习笔记04:Scala简介与安装的主要内容,如果未能解决你的问题,请参考以下文章

Spark基础学习笔记10:Scala集成开发环境

Spark基础学习笔记11:Scala运算符

Spark基础学习笔记04:搭建Spark伪分布式环境

Spark基础学习笔记09:Scala基础

2022年Spark基础学习笔记目录

Spark基础学习笔记13:Scala函数