Spark 第二讲 Scala简介
Posted 千锋-Arther
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark 第二讲 Scala简介相关的知识,希望对你有一定的参考价值。
一. Scala 简介
Scala 是 Scalable Language 的简写,是一门多范式的编程语言,由联邦理工学院洛桑(EPFL)的 Martin Odersky 于2001年基于 Funnel 的工作开始设计,设计初衷是实现可伸缩的语言,集成面向对象编程和函数式编程的各种特性。因此 Scala 是一种纯面向对象的语言,每个值都是对象。同时 Scala 也是一种函数式语言,其函数也能当成值来使用。由于 Scala 整合了面向对象语言和函数式编程的特性,Scala 相对于 Java、C、C++ 等其他语言更加简洁。
Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。Scala 一开始就打算基于 Java 的生态系统发展自身,而这令 Scala 受益匪浅。
“If I were to pick a language to use today other than Java, it would be Scala.”
-- James Gosling
二. Scala 特性
- 面向对象:由于面向对象的诸多特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护和扩展。
- 函数式编程:把函数当变量用,关注于描述问题而不是怎么实现,这样可以让代码更易读。
- 静态类型:编译时就能发现类型不匹配的错误,编辑器可以帮助我们提前避免程序在运行期间有可能发生的一些错误。如果在程序中明确地规定了数据类型,编译器还可以针对这些信息对程序进行一些优化工作,提高程序执行速度。
- 速度快:Scala 语言表达能力强,一行代码抵得上 Java 多行,开发速度快;Scala 是静态编译的,所以和 JRuby,Groovy 比起来速度会快很多。
- 能融合到 Hadoop 生态圈:Hadoop 现在是大数据事实标准,Spark 的出现并不是要取代 Hadoop,而是要完善 Hadoop 生态。
- 优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API 是否优雅直接影响用户体验。
三. Scala 使用
- 交互式:开始学习 Scala 最简单的方法就是使用 Scala 交互式解释器(REPL),它是编写Scala 表达式和程序的交互式 shell,交互式编程不需要创建脚本文件,可以通过 scala 命令调用(退出 :quit)。
- 脚本形式:创建后缀为 scala 的文件来执行代码。
vi HelloWorld.scala object HelloWorld def main(args: Array[String]) print("Hellow World!"); scalac HelloWorld.scala # 编译 scala HelloWorld # 运行
四. 注意事项
- 命名:
可以由字母、数字、符号(_ $ + : < > ?等)组成【例:unary_+】;
以字母和下划线开头;
区分大小写;
类名首字母大写,变量名、方法名首字母小写;
驼峰式命名;
- 程序文件名应该与对象名称相同
新版本取消这种限制,但是建议保留
- Scala 程序的 main() 方法为入口方法
def main(args: Array[String])
- 单行代码可不用分号(;)结束
- 定义包(package):
- 引用(import):
五. 关键字
六. 注释(和 Java 一样)
以上是关于Spark 第二讲 Scala简介的主要内容,如果未能解决你的问题,请参考以下文章