Spark大数据分析与实战(第二版) 项目2 教案.docx
PAGE32
课程名称
Spark大数据分析
选用教材
Spark大数据分析与实战(第2版)
出版社
西安电子科技大学出版社
章节
项目2编写Scala程序处理新能源汽车销售数据
教学内容
在学习Scala语法基础上,编写Scala代码完成新能源汽车销售数据的处理。
授课学时
4
授课班级
****专业*****班
授课日期
授课地点
教学目标
了解Ubuntu环境下的Scala安装;
熟悉Scala的基础语法,能够编写简单的程序;
熟悉分支、循环结构,掌握if、for、while的用法;
掌握数组、列表、映射、集合等容器的常见用法;
掌握函数的定义方法,能够书写简单的匿名函数;
了解面向对象的基本概念,能够自定义类;
熟悉模式匹配,掌握样例类的定义方法。
重点难点
Scala中的分支与循环结构;
组合数据类型Array、List、Tuple、Set、Map的基本用法;
匿名函数及高阶函数的用法;
模式匹配的使用。
教学方法
R讲授£讨论或座谈£问题导向学习£分组合作学习£案例教学£任务驱动
R项目教学£情景教学£演示汇报£实践教学£参观访问£引导文教学£其他(--)
教学准备(教师)
教材:《Spark大数据分析与实战(第2版)》
硬件设备:内存8G(或以上)的计算机
(2)教学资源:课件PPT、教学日历、相关软件等
教学准备
(学生)
教材:《Spark大数据分析与实战(第2版)》
硬件设备:内存8G(或以上)的计算机
(3)教学资源:课件PPT、相关软件等
教学环节
教学内容与过程
(教学内容、教学方法、组织形式、教学手段)
课前组织
教师通过课程教学平台或班级群发布学习预习任务及课程资源;学生提前预习相关内容,并完成课前自测等。
课程内容描述
任务2.1Scala的安装与体验
Spark本身就是用Scala编写,因此Spark对Scala的支持最为高效,是生产环境下Spark大数据开发的主要语言。Scala是ScalableLanguage的简写,它是一门多范式的编程语言;Scala于2001年由瑞士洛桑联邦理工学院洛桑(EPFL)编程方法实验室研发,设计的初衷便是集成面向对象编程和函数式编程的特性。因此,Scala是一种纯粹的面向对象语言,秉承每个值都是对象的理念;同时Scala也是一门函数式的编程语言,其函数也可以当做值来使用。
特点:面向对象、函数式、静态类型、可扩展
安装过程简单,使用如下命令即可:
tar-zxvfscala-2.12.17.tgz-C/usr/local#解压到/usr/local目录下
安装完毕后,把scala命令所在的目录“/usr/local/scala/bin”增加到path中;
在Ubuntu终端,输入“scala”命令,即可进入Scala简易开发环境。
文本编辑器(gedit等)书写HelloWorld.scala;使用命令编译、执行
scalacHelloWorld.scala
scala-classpath.HelloWorld
任务2.2分析某电动汽车的市场地位
1.数据类型与变量
现实生活中,我们使用的数据形态多样,囊括整数、小数、文本(文字符号)等;在程序设计中,也需要对数据的类型加以区分,从而完成不同的操作(例如数值可以进行四则运算,文本可以表示一个人的名字等)。
程序设计中为了方便获取某个内存单元中的数据,会使用“标识符”来表示这个内存单元,该“标识符”即称为变量。
Scala程序中,使用val关键字来定义的变量,又称为常量;程序运行过程中,常量一旦确定好其值后,不允许改变(重新赋值)。
变量就是程序运行过程中可以改变(重新赋值)的量,变量使用关键字var来定义。
运算符
运算符:告诉Scala执行什么样的命令。
在数学领域,我们可以执行加减乘除等运算;在Scala编程中,也提供了算术、关系、赋值、逻辑等运算。每一种运算,都使用一个独特的符号来表示,用于告诉Scala编译器需要执行什么样的计算逻辑。
If分支结构
在实际业务中,经常需要对数据进行差异化处理(不同值、类型采取不同的处理方法),或者根据不同条件执行不同功能代码,这时候可以使用if判断语句;Scala中if条件语句用法与Java等基本一致。
函数
函数是组织好的、可重复使用的、用来实现特定功能的代码段,它可以有效提升代码的重复利用率,用以构建更加复杂、更强大的程序。
所谓匿名函数就是没有名字的函数(有的编程语言称为lambda表达式),即定义函数时省略函数名称;匿名函数使用“=”来定义,等号左边为匿名函数参数列表,箭头右边为函数主体(所要实现的功能);
(参数1:类型,参数2:类型,)={函数体语句}
scala