《Spark大数据编程基础(Scala版)》第三章 Scala语言基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1.2 Scala运行方式
代码3-2
object HelloWorld { /* 第一个 Scala 程序 * 它将输出 Hello World! */ def main(args: Array[String]) { println("Hello, World!") // 输出 Hello World! }
3.1 Scala简介
Scala语言是集面向对象编程思想与函数式编程思想于一 身的通用编程语言,由Martin Odersky教授及其领导的瑞士 洛桑联邦高等理工学院程序方法实验室团队于2004年对外发 布。Scala的设计吸收借鉴了许多种编程语言的思想。Scala 语言的名称来自于“可伸展的语言”,从写小脚本到建立大 系统的编程任务均可胜任。
scala> println("Hello, world!") Hello, world!
结果会直接显示在代码下方,输出Hello,world!
3.1.2 Scala运行方式
2. Scala解释器中运行多行代码
在Scala解释器中使用:paste命令,进入paste模式。将 代码编辑完后,按住ctrl+D即可退出paste模式,运行结果 即可在下方显示,如代码 3-1所示。
3.1.2 Scala运行wk.baidu.com式
scala> :paste // Entering paste mode (ctrl-D to finish)
val str=List("Hello","World")
for(i<-0 to 1) print(str(i)) println()
// Exiting paste mode, now interpreting. HelloWorld str: List[String] = List(Hello, World)
3.1.2 Scala运行方式
关于代码 3-2及执行命令,需要说明的几点:
在代码 3-2中,定义了程序的入口main()方法。关于main() 方法的定义,Java和Scala是不同的,在Java中使用静态方法 (public static void main(String[] args)),而Scala中则必须 使用对象方法,本例中,也就是HelloWorld对象中的main()方 法。
Spark大数据编程基础(Scala版)
第三章 Scala语言基础
在Spark中可以使用Scala、Java、Python语言进行 分布式程序开发,但Spark提供的首选语言是Scala。作 为Apache Spark的原生开发语言, Scala语言在大数据 处理领域受到广泛关注。
主要内容
3.1 Scala简介 3.2 变量与类型 3.3 程序控制结构 3.4 集合 3.5 函数式编程 3.6 本章小结
由于本书只对Scala语言的常用语法知识进行讲解, 不涉及太过复杂的Scala程序,在Scala Shell里便可完成相 关知识的学习。
本小节以输出HelloWorld为例,介绍三种Scala代码编译 执行的方式。
3.1.2 Scala运行方式
1. Scala解释器中直接运行代码
登录Linux系统,打开命令行终端并输入scala进入Scala 解释器。输入代码:
3.1 Scala简介
Scala运行于Java 虚拟机(Java Virtual Machine,JVM) 上,并兼容现有的Java程序。Scala代码可以调用Java方法, 访问Java成员变量,继承Java类和实现Java接口。在面向对 象方面,Scala是一门非常纯粹的面向对象编程语言,也就是 说,在Scala中,每个值都是对象,每个操作都是方法调用。
3.1.1 Scala特点
Scala的优势是提供了REPL(Read-Eval-Print Loop, 交互式解释器),因此,在Spark Shell中可进行交互式 编程,即表达式计算完成就会输出结果,而不必等到整 个程序运行完毕,因此可即时查看中间结果,并对程序 进行修改。这样可以在较大程度上提升开发效率。
}
3.1.2 Scala运行方式
使用scalac命令编译Demo.scala文件,并使用scala命令执行:
scalac Demo.scala //编译Scala文件命令 scala -classpath . HelloWorld //执行命令
执行命令中一定要加入“-classpath .”,否则会出现“No such file or class on classpath: HelloWorld”。命令执行后,会 在屏幕上打印出“Hello, World!”。
3.1.2 Scala运行方式
Scala代码可以在Spark Shell中运行,其自带Scala解释 器。当然,Scala代码也可以在Scala Shell中直接运行。在 实际开发过程中,为提高开发效率,一般会借助一些IDE 如IDEA、Eclipse等进行Scala程序开发。
3.1.2 Scala运行方式
3.1.2 Scala运行方式
在代码 3-2中对象的命名HelloWorld可以不必和文件名称一 致,这里对象名称是HelloWorld,而文件名称是Demo.scala。这 点和Java是不同的,按照Java的命名要求,这里的文件名称就必 须起名为HelloWorld.scala,但是,在Scala中没有这个一致性要 求。另外,执行命令中的HelloWorld为对象名。
3.1.1 Scala特点
Spark的设计目的之一就是使程序编写更快更容易,这 也是Spark选择Scala的原因所在。Scala的主要优点包括: (1)Scala具备强大的并发性,支持函数式编程,可以更 好地支持分布式系统。 (2)Scala语法简洁,能提供优雅的API。 (3)Scala能够无缝集成Java语言,运行速度快,且能融 合到Hadoop生态圈中。
代码3-1
另外,在Scala解释器中输入:quit可以退出Scala解释器。
3.1.2 Scala运行方式
3. 通过控制台进行编译及执行scala文件
登录Linux系统,打开命令行终端,选择文件创建路径,在 命令行终端输入vim Demo.scala, 即可在创建路径下自动创建 Demo.scala文件。将代码以应用程序对象的方式写入scala文件, 如代码 3-2所示。