文档章节

【Spark亚太研究院系列丛书】Spark实战高手之路-第2章动手实战Scala第1小节(1)

Spark亚太研究院
 Spark亚太研究院
发布于 2014/11/22 22:00
字数 665
阅读 291
收藏 3

1,在命令行和Scala IDE for Eclipse中动手体验Scala

 

Scala一门基于JVM的面向对象和函数式编程相结合的静态语言,安装和运行Scala首先需要Java虚拟环境,直接到官方网站下载和安装Java即可:

http://www.oracle.com/technetwork/java/javase/downloads/index.html 

因为Spark的最新的 1.0.2版本支持的是Scala 2.10.X版本,而Scala 2.10.X是不支持Java 8的,所以下载的时候需要下载Java 6或者 Java 7的版本(需要注意系统的版本,家林的系统是Window 7的64位的版本),安装并配置好之后需要在命令行下验证一下:

接下来安装Scala 2.10.4,下载地址是:

http://www.scala-lang.org/download/2.10.4.html 

下载下来之后点击安装即可,安装之后需要把scala的bin目录配置到环境变量path中,安装配置完成后用命令行验证一下:

进入Scala命令行:

在Scala中定义一个常量是使用val:

如果此时相对name的值进行修改就会报错:

使用var声明一个变量:

此时修改hobby这个变量:

可以发现我们在定义常量和变量的时候并未定义其类型,但是命令终端却显示出了类型其类型,这是Scala类型的自我推到能力,Scala可以根据变量和常量值的类型来推到变量和常量本身的类型。

当然,你可以显示的指定类型:

接下来下载Scala IDE for Eclipse,看一下在Eclipse中如何写Scala代码,下载Scala2.10.4的版本即可,下载地址如下:

http://scala-ide.org/download/sdk.html 

下载后直接解压启动即可。

创建一个Scala项目:

在src下创建一个scala的包:

接下来创建一个名称为“HelloScala”的Scala类:

接下来写我们的main函数,需要注意的是在Scala中main函数需要存在于object对象中,所有我们需要一个object HelloScala并在其中编写main方法:

编写完毕之后选择Run as为“Scala Application”即可,运行结果如下所示:

接下来使用def定义一个函数“hello”:

Scala中有两点需要注意:

1, 函数体的最后一行的值就是整个函数的返回值;

2,类型的声明是位于变量或者函数或者类的后面的;

把函数的执行结果打印出来:

执行改程序:

下面我们看另外一个方法的定义、使用和执行:

 

© 著作权归作者所有

共有 人打赏支持
Spark亚太研究院
粉丝 73
博文 73
码字总数 35236
作品 0
朝阳
技术主管
私信 提问
Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark

Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机、平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题。图计算正在被广泛地...

Spark亚太研究院
2014/08/29
0
0
OSC 第 65 期高手问答 — Spark 企业级实战

OSCHINA 本期高手问答(3月23日-3月29日)我们请来了 @王家林 (王家林)为大家解答关于 Spark 开发方面的问题。 王 家林,Spark 亚太研究院院长和首席专家,当今云计算领域最火爆的技术Docke...

叶秀兰
2015/03/23
6.3K
22
【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(9)

第二步:构造分布式的Spark1.0.2集群 1,下载Scala 2.10.4,具体下载地址: http://www.scala-lang.org/download/2.10.4.html 在Ubuntu机器上Scala会帮助我们自动选择“scala-2.10.4.tgz”进行...

Spark亚太研究院
2014/11/17
0
0
【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(13)

从控制台可以看到我们的程序成功在集群上运行: Detail for stage 1: Detail for Stage 0: 查看一下Executors的信息: 上述信息表明程序成功在Spark集群上运行。 第四步:基于IDEA构建Spark...

Spark亚太研究院
2014/11/20
0
0
【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第1节②

三、你为什么需要Spark; 你需要Spark的十大理由: 1,Spark是可以革命Hadoop的目前唯一替代者,能够做Hadoop做的一切事情,同时速度比Hadoop快了100倍以上: Logistic regression in Hadoo...

Spark亚太研究院
2014/12/16
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Neo 虚拟机

上一篇《Neo 编译器》中说明了Neo编译器是怎么把CIL转成neo虚拟机的opcode,那么vm虚拟机又是怎么处理这些代码的,这篇文章我们看一下虚拟机的代码。 框架 虚拟机所处的位置 在框架图中,我们...

NEO-FANS
26分钟前
1
0
TiDB-Lightning Toolset & TiDB-DM 正式开源,前排开“坑”、PR 走起!

在刚刚结束的 TiDB DevCon 2019 上,我们宣布将大家期待已久的 TiDB-Ligthning Toolset 和 TiDB-DM 开源(惊不惊喜、意不意外?!),感兴趣的小伙伴们赶紧前排关注一波,开“坑(issues)”...

TiDB
40分钟前
2
0
人人都可以做深度学习应用:入门篇

本文由云+社区发表 作者:徐汉彬 一、人工智能和新科技革命 2017年围棋界发生了一件比较重要事,Master(Alphago)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们...

腾讯云加社区
44分钟前
1
0
C++ RAII

C++ RAII RAII是resource acquisition is initialization的缩写,意为“资源获取即初始化”。它是C++之父Bjarne Stroustrup提出的设计理念,其核心是把资源和对象的生命周期绑定,对象创建获...

mskk
47分钟前
1
0
web.xml is missing and is set to true一步解决

次报错说的是在WebContent/WEB-INF下面没有web.xml,而默认web.xml不在此路径,需要重新指定路径,操作如下: 先取消Dynamic Web Module勾选,点击apply,然后再勾上Dynamic Web Module,此时...

宇昕
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部