大数据技术原理与应用.ppt

大数据技术原理与应用.ppt

ID:55638669

大小:3.82 MB

页数:139页

时间:2020-05-22

大数据技术原理与应用.ppt_第1页
大数据技术原理与应用.ppt_第2页
大数据技术原理与应用.ppt_第3页
大数据技术原理与应用.ppt_第4页
大数据技术原理与应用.ppt_第5页
资源描述:

《大数据技术原理与应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第八章:Scala语言基础8Scala语言概述1计算机的缘起2编程范式3Scala简介8.1.1计算机的缘起数学家阿隆佐•邱奇(AlonzoChurch)设计了“λ演算”,这是一套用于研究函数定义、函数应用和递归的形式系统λ演算被视为最小的通用程序设计语言λ演算的通用性就体现在,任何一个可计算函数都能用这种形式来表达和求值λ演算是一个数理逻辑形式系统,强调的是变换规则的运用,而非实现它们的具体机器8.1.1计算机的缘起:图灵机模型由一个控制器,一条有限长携带有信息和运算指令带子的带子和一个可在带子上左右移动的读写头组成所有的电子计算机,

2、都没有超出此模型理想的计算机:毫无停顿的运行下去关键问题:数据怎么准备好?依次执行(顺序)默认的执行顺序跳跃下行(分支)函数调用跳跃上行(循环)8.1.1计算机的缘起英国数学家阿兰·图灵采用了完全不同的设计思路,提出了一种全新的抽象计算模型——图灵机图灵机是现代计算机的鼻祖。现有理论已经证明,λ演算和图灵机的计算能力是等价的8.1.1计算机的缘起冯·诺依曼(JohnVonNeumann)将图灵的理论物化成为实际的物理实体,成为了计算机体系结构的奠基者1945年6月,冯·诺依曼提出了在数字计算机内部的存储器中存放程序的概念,这是所有现代计

3、算机的范式,被称为“冯·诺依曼结构”8.1.2编程范式编程范式是指计算机编程的基本风格或典范模式。常见的编程范式主要包括命令式编程和函数式编程。面向对象编程就属于命令式编程,比如C++、Java等命令式语言是植根于冯·诺依曼体系的,一个命令式程序就是一个冯·诺依曼机的指令序列,给机器提供一条又一条的命令序列让其原封不动地执行函数式编程,又称泛函编程,它将计算机的计算视为数学上的函数计算函数编程语言最重要的基础是λ演算,λ演算对函数式编程特别是Lisp语言有着巨大的影响。典型的函数式语言包括Haskell、Erlang和Lisp等8.1.

4、2编程范式一个很自然的问题是,既然已经有了命令式编程,为什么还需要函数式编程呢?为什么在C++、Java等命令式编程流行了很多年以后,近些年函数式编程会迅速升温呢?命令式编程涉及多线程之间的状态共享,需要锁机制实现并发控制函数式编程不会在多个线程之间共享状态,不需要用锁机制,可以更好并行处理,充分利用多核CPU并行处理能力8.1.3Scala简介Scala是一门类Java的多范式语言,它整合了面向对象编程和函数式编程的最佳特性。具体来讲:Scala运行于Java虚拟机(JVM)之上,并且兼容现有的Java程序Scala是一门纯粹的面向对

5、象的语言Scala也是一门函数式语言8.2Scala简介Scala是一门现代的门类Java的多范式编程语言,运行于Java平台(JVM,Java虚拟机),并兼容现有的Java程序,整合了面向对象编程和函数式编程的最佳特性。Scala的特性:Scala具备强大的并发性,支持函数式编程,可以更好地支持分布式系统Scala语法简洁,能提供优雅的APIScala兼容Java,运行速度快,且能融合到Hadoop生态圈中Scala是Spark的主要编程语言,但Spark还支持Java、Python、R作为编程语言Scala的优势是提供了REPL(R

6、ead-Eval-PrintLoop,交互式解释器),提高程序开发效率8.1.4Scala的安装和使用方法Scala运行于Java虚拟机(JVM)之上,因此只要安装有相应的Java虚拟机,所有的操作系统都可以运行Scala程序,包括Window、Linux、Unix、MacOS等。8.1.4.1安装Java8.1.4.2安装Scala8.1.4.3使用Scala解释器8.1.4.4第1个Scala程序:HelloWorld8.1.4.1安装Java直接通过命令安装OpenJDK7配置JAVA_HOME环境变量使配置立即生效:8.1.4.

7、2安装Scala登录Scala官网,下载scala-8.11.8.tgz把scala命令添加到path环境变量中启动Scala解释器:8.1.4.3使用Scala解释器在Shell命令提示符界面中输入“scala”命令后,会进入scala命令行提示符状态:可以使用命令“:quit”退出Scala解释器,如下所示:8.1.4.4第1个Scala程序:HelloWorld注意,上面命令中一定要加入"-classpath.",否则会出现“Nosuchfileorclassonclasspath:HelloWorld”8.2Scala基础8.2

8、.1基本语法8.2.2控制结构8.2.3数据结构8.8.4面向对象编程基础8.2.5函数式编程基础8.2.1基本语法8.2.1.1声明值和变量8.2.1.2基本数据类型和操作8.2.1.3Range8.2.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。