Spark之Scala
文章目录
- Spark之Scala
- 什么是Scala:
- Scala简介
- Scala的特点是什么:
- Scala的运行方式:
- 介绍三种Scala代码编译 执行的方式:
- **2.** **通过控制台进行编译及执行****scala****文件**
- **3.** **在****IDEA****开发工具中运行**
什么是Scala:
Scala简介
Scala语言是集面向对象编程思想与函数式编程思想于一
身的通用编程语言,由Martin Odersky教授及其领导的瑞士
洛桑联邦高等理工学院程序方法实验室团队于2004年对外发
布。Scala的设计吸收借鉴了许多种编程语言的思想。Scala
语言的名称来自于“可伸展的语言”,从写小脚本到建立大
系统的编程任务均可胜任。
Scala运行于Java 虚拟机(Java Virtual Machine,JVM)
上,并兼容现有的Java程序。Scala代码可以调用Java方法,
访问Java成员变量,继承Java类和实现Java接口。在面向对
象方面,Scala是一门非常纯粹的面向对象编程语言,也就是
说,在Scala中,每个值都是对象,每个操作都是方法调用
Scala的特点是什么:
Scala的优势是提供了REPL(Read-Eval-Print Loop,
交互式解释器),因此,在Spark Shell中可进行交互式
编程,即表达式计算完成就会输出结果,而不必等到整
个程序运行完毕,因此可即时查看中间结果,并对程序
进行修改。这样可以在较大程度上提升开发效率。
Scala的运行方式:
Scala代码可以在Spark Shell中运行,其自带Scala解释
器。当然,Scala代码也可以在Scala Shell中直接运行。在
实际开发过程中,为提高开发效率,一般会借助一些IDE
如IDEA、Eclipse等进行Scala程序开发
介绍三种Scala代码编译 执行的方式:
- Scala解释器中直接运行代码或使用:paste命
令运行多行代码
(1)登录Linux系统或DOS终端,打开命令行并输入
scala进入Scala解释器。输入代码:
结果会直接显示在代码下方,输出Hello,world!
(2)在Scala解释器中使用:paste命令,进入paste模式。
将代码编辑完后,按住ctrl+D即可退出paste模式,运行结
果即可在下方显示,如代码 1-1所示。
scala> :paste
// Entering paste mode (ctrl-D to finish)
val str=List("Hello","World")
for(i<-0 t o 1 ) print(str(i))
println()
// Exiting paste mode, now interpreting.
HelloWorld
str: List[String] = List(Hello, World)
另外,在Scala解释器中输入:quit可以退出Scala解释器
2. 通过控制台进行编译及执行scala文件
登录Linux系统,打开命令行终端,选择文件创建路径,在
命令行终端输入vi Demo.scala, 即可在创建路径下自动创建
Demo.scala文件。将代码以应用程序对象的方式写入scala文件,
如代码 1-2所示。
object HelloWorld {
/* 第一个 Scala 程序
* 它将输出 Hello World!
*/
def main(args: Array[String]) {
println("Hello, World!")// 输出 Hello World!
} }
使用scalac命令编译Demo.scala文件,并使用scala命令执行:
命令执行后,会在屏幕上打印出“Hello, World!”。
scalac Demo.scala** //编译Scala文件命令
**scala HelloWorld** //执行命令
**scala -classpath . HelloWorld** //执行命令
在代码 1-2中,定义了程序的入口main()方法。关于main()
方法的定义,Java和Scala是不同的,在Java中使用静态方法
(public static void main(String[] args)),而Scala中则必须
使用对象方法,本例中,也就是HelloWorld对象中的main()方
法。
在代码 1-2中对象的命名HelloWorld可以不必和文件名称一
致,这里对象名称是HelloWorld,而文件名称是Demo.scala。这
点和Java是不同的,按照Java的命名要求,这里的文件名称就必
须起名为HelloWorld.scala,但是,在Scala中没有这个一致性要
求。另外,执行命令中的HelloWorld为对象名
Scala是区分大小写的。例如小写开头的object和大写开头
的Object是不同的。文件名Demo.scala和demo.scala也是两个
不同的文件
3. 在IDEA开发工具中运行
在IDEA开发工具中下载安装Scala插件,新建Projects–
>Package–>scala.class。
我们就可以在IDEA里面打印我们的第一个scala程序
package Word
package Word
import scala.io.StdIn
object Hello {
def main(args: Array[String]): Unit = {
print("Hello World!")
}
}