文档章节

【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亚太研究院
粉丝 70
博文 73
码字总数 35236
作品 0
朝阳
技术主管
Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark

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

Spark亚太研究院
2014/08/29
0
0
【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
【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(1)

第一步:构造分布式Hadoop2.2.0集群 1,在Windows 7(本教程中的Spark集群运行的机器是8G的Windows内存)上安装VMware虚拟机(我们安装的是VMware-workstation-full-9.0.2),本教程中的VMwar...

Spark亚太研究院
2014/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

5whys分析法在美团工程师中的实践

前言 网站的质量和稳定性对于用户和公司来说至关重要,但是在网站的快速发展过程中,由于各种原因导致事故不可避免的发生,这些大大小小的事故对公司难免会造成一些负面的影响,为了避免同类...

Skqing
20分钟前
0
0
Android 接收监听开机完成,并且开机自启动

1,定义一个广播接收者的类 ,并重写抽象方法 public class BootCompleteReceiver extends BroadcastReceiver 2,在Androidmanifest 注册 <receiver android:name=".receiver.BootCompleteRece......

lanyu96
24分钟前
1
0
小程序记录

1、button的边框、角等需要在伪元素after修改去除

originDu
26分钟前
0
0
微博什么技术啊……还说支持八个明星并发出轨,结果…

是的,大家可能都知道了,女神张靓颖结婚了。。 我去,写错了,是————赵丽颖。 为什么我头脑一瞬间出现的是张靓颖,作为一个码农,技术宅,拼音缩小都是 ZLY,博主我真有点傻傻分不清楚了...

Java技术栈
26分钟前
3
0
模块化

1,什么是模块化? 模块化是指将一个复杂的系统分解为多个模块,方便编码。 2,为什么要用模块化? 降低复杂性,降低代码耦合度,部署方便,提高效率。 3,模块化的好处? a,避免命名冲突,减少...

羊皮卷
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部