一:Scala基础

大数据技术及人工智能的蓬勃发展,促进了我国经济更快更好地进入高质量发展阶段。基于开源技术的Hadoop分布式框架在行业中的应用十分广泛,但是Hadoop本身还存在诸多缺陷,主要的缺陷是Hadoop的MapReduce分布式计算框架在计算时延迟过高,无法满足实时、快速计算的需求。

Spark继承了MapReduce分布式计算的优点并改进了MapReduce的明显缺陷。与MapReduce不同的是,Spark的中间输出结果可以保存在内存中,从而大大减少了读写Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)的次数,因此Spark能更好地适用于数据挖掘与机器学习中迭代次数较多的算法。

Scala是Spark编程常用的语言之一,本书进行Spark编程时使用的语言也是Scala。因此,在学习Spark之前,需要先了解Scala语言、Scala安装过程和基础编程操作

scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程。早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。

Scala语言主要用于开发大数据应用程序,如:Spark程序、Flink程序;它具有表达能力强,一行代码抵得上多行java代码,开发速度快;它也兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker、activemq

1.1 scala常用数据类型

1.2 关键字说明 package: 包,等同于java中的package

object:关键字,声明一个单例对象(伴生对象)

main方法:从外部可以直接调用执行的方法

def 方法名称 ( 参数名称 : 参数类型 ) : 返回值类型 = { 方法体 }

Scala 完全面向对象,故scala去掉了Java中非面向对象的元素,如static关键字,void类型 1) static scala无static关键字,由object实现类似静态方法的功能(类名.方法名) class关键字和Java中的class关键字作用相同,用来定义一个类 2) void 对于无返回值的函数,scala定义其返回值类型为Unit类型

1.3 Scala 与 Java 的关系

Scala是基于Java去实现的,可以理解为是对Java的一个扩展。我们都知道C语言和C++的关系,那么就可以把Scala看作是Java++一样。Java编写的.java程序编译生成.class字节码文件,最后由JVM翻译为机器码然后去执行。Scala也是类似,但是不同的是Scala编写的.scala程序,编译生成.class和x$.class两个文件,也是在JVM上执行的。

二、安装Scala并搭建环境

1.在Scala官网下载安装包到本地。官网下载地址:All Available Versions | The Scala Programming Language

选择对应的Scala版本进行下载。

 1.2

配置环境变量

点击此电脑,选择高级系统选项,点击环境变量,新建一个SCALA_HOME,在path中添加%SCALA_HOME%\bin。

1.3配置完成后,在dos窗口测试,输入scala之后进入scala shell表示配置成功! 

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: