为什么学习Scala?
因为Spark是使用Spark编写的,学习Spark有助于更好的学习Scala
而Spark是大数据的重要内容,大数据需要使用Spark
Scala环境配置
下载Scala安装包:https://www.scala-lang.org/download
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5OsoYvZc-1596024135950)(…/…/…/…/Pictures/Typora/image-20200721145902016.png)]
需要jdk环境
在idea上使用,需要安装scala插件(百度搜索)
Scala简介
scala编译时,object在底层会生成两个类
object Hello ----------- Hello,Hello$ //我们在main中编写的代码,是放在Hello$的main中的,scala对此作了包装 //编译时,Hello类的main方法调用hello$类的一个静态对象MODULES$,然后该对象再调用Hello$类的main方法
- Scala源自Java
- Scala构建在JVM之上
- Scala与Java兼容、互通
- Scala的优势
- 多范式编程:面向对象编程、函数式编程
- 表达能力强,代码精简
- 大数据与Scala
- Spark采用Scala语言设计
- 提供的API更加优雅
- 基于JVM的语言更融入Hadoop生态圈
Scala概述
- 面向对象特性
每个值都是对象
对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述
利用特征实现混入式多重继承 - 函数式编程
每个值都是一个值
支持高阶函数、柯里化(currying)、样例类(case class)及模式匹配…… - Scala是静态类语言
- 扩展性:隐式类、字符串插值
Scala 包
scala有两种方式定义包
-
与java相同,在文件头定义包名
package com.heihei class HelloWorld
-
类似于c#,用括号将包中的类包起来
package com.heihei{ class HelloWorld }
Scala import
与java不同,Scala中的import语句可以出现在任何地方(不一定是文件顶部),import的作用范围从impor