上海艾纵企业管理咨询有限公司 - 课程体系 - 专题课程 - 大数据 云计算专题


您好!欢迎来到上海艾纵企业管理咨询有限公司!

加入收藏

登录注册

400-676-1955

专题课程

Scala语言与Spark大数据内存计算框架开发实战

我要报名

编辑日期 2018-06-14  阅读次数:451 次


【课程简介】

工业和信息化部电信研究院于20145月发布的“大数据白皮书”中指出:

2012 年美国联邦政府就在全球率先推出“大数据行动计划(Big data initiative)”,重点在基础技术研究和公共部门应用上加大投入。在该计划支持下,加州大学伯克利分校开发了完整的大数据开源软件平台“伯克利数据分析软件栈(Berkeley Data Analytics Stack),其中的内存计算软件Spark的性能比Hadoop 提高近百倍,对产业界大数据技术走向产生巨大影响

                                          ----来源:工业和信息化部电信研究院

 

 

Spark是成为替代MapReduce架构的大数据分析技术,Spark的大数据生态体系包括流处理、图技术、机器学习等各个方面,并且已经成为Apache项目,可以预计的是2014年下半年到2015年在社区和商业应用上会有爆发式的增长。

 

国内外一些大型互联网公司已经部署了Spark,并且它的高性能已经得到实践的证明。国外Yahoo已在多个项目中部署Spark,尤其在信息推荐的项目中得到深入的应用;国内的淘宝、爱奇异、优酷土豆、网易、baidu、腾讯等大型互联网企业已经将Spark应用于自己的生产系统中。国内外的应用开始越来越广泛。Spark正在逐渐走向成熟,并在这个领域扮演更加重要的角色。

2014 Spark Summit上,世界20家公司声明支持Spark,这些公司包括了四个Hadoop发行商Cloudera, Pivotal, MapR, Hortonworks,都提供了对非常强有力的支持Spark的支持:

      1、      Hadoop的头号发行商Cloudera,在20147月份宣布“Impala’s it for interactive SQL on Hadoop; everything else will move to Spark”;

      2、      2014524Pivotal宣布了会把整个Spark stack包装在Pivotal HD Hadoop发行版里面;这标志着四个Hadoop发行商ClouderaPivotalMapRHortonworks都提供了对Spark的支持;

      3、      20144月,Mahout表示将不再接受任何形式的以MapReduce形式实现的算法,Mahout宣布新的算法基于Spark

      4、      Cloudera的机器学习框架Oryx的执行引擎也将由HadoopMapReduce替换成Spark

 

【培训方式】

以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。

 

【目标收益】

    1、 通过培训使学员深入理解Spark的大数据实现技术原理;

    2、 通过培训使学员深入理解并能运行Spark CoreStreamingSQLMllibGraphX等子项目;

    3、 通过培训使学员具备Spark内存计算框架的开发能力;

    4、 通过培训使学员学会Scala语言开发,以及开发Spark程序,处理业务数据;

 

 

【培训对象】

     1、 对大数据、分布式存储、分析等感兴趣的人员;

     2、 大型网站、电商网站等运维人员;

     3、 云计算、大数据从业者;

     4、 熟悉Hadoop生态体系,想了解和学习HadoopSpark整合在企业应用实战案例的人员;

     5、 系统架构师、系统分析师、高级程序员、经验丰富的开发人员;

     6、 牵涉到大数据处理的数据中心运行、规划、设计负责人;

     7、 政府机关,金融保险、移动互联网等大数据单位的负责人;

     8、 高校、科研院所大数据研究人员,涉及到大数据与分布式数据处理的人员;

     9、 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;

 

【培训时长】

4


【课程大纲】

 



时间

内容

第一天

 

第1个主题: Scala语言培训(介绍Scala诞生的背景)90分钟

1、 Scala介绍

2、 What is Scala

3、 基于JVMFP+OO

4、 静态类型

5、 多线程开发

6、 Java兼容

7、 语法简洁

8、 Scala研发环境

9、 Scala安装及环境配置

10、 交互式编程

11、 脚本式编程

12、 编程实战:第一个 Scala 程序

 

 

第2个主题: 如何学习一门新的语言(剖析学习一门新的语言的技巧与思路)30分钟

1、 顺序

2、 分支

3、 循环

4、 对象

5、

6、 方法

7、 字段

 

 

第3个主题: Scala顺序语法(介绍Scala顺序编程语法)120分钟

1、 Scala基本语法

2、 Scala数据类型

3、 Scala变量

4、 标识符的声明与定义

5、 val,常量声明

6、 var,变量声明

7、 类型省略(默认类型)

8、 声明省略(连续声明)

9、 Scala访问修饰符

10、 Scala作用域

11、 Scala运算符

a)      算术运算符

b)     关系运算符

c)      逻辑运算符

d)     位运算符

e)     赋值运算符

12、 Scala关键字

13、 Scala注释

14、 空行和空格

15、 换行符

16、 Scala

17、 Scala引用

18、 编程实战:顺序编程Scala程序实例

 

第4个主题: Scala分支语法(介绍Scala分支编程语法)30分钟

1、 if语句

2、 if...else语句

3、 if...else if...else语句

4、 if...else嵌套语句

5、 编程实战:分支编程Scala程序实例

 

第5个主题: Scala循环语法(介绍Scala循环编程语法)30分钟

1、 Scala循环

2、 while循环

3、 do...while循环

4、 for循环

5、 编程实战:循环编程Scala程序实例

 

第6个主题: Scala 函数(介绍Scala函数编程语法)60分钟

1、 Scala函数

2、 Scala闭包

3、 Scala函数声明def

4、 无参函数

5、 编程实战:Scala函数编程实例

 

第7个主题: Scala复杂数据类型(介绍Scala语言复杂数据类型编程语法)60分钟

1、 Scala字符串

2、 Scala数组

3、 Scala Collection(集合)

4、 Scala Iterator(迭代器)

5、 Scala泛型

6、 Scala FP的方式处理集合

7、 编程实战:Scala语言复杂数据类型编程实战

 

第8个主题: Scala类与对象编程(介绍Scala语言的类与对象编程语法)60分钟

1、 Scala类和对象

2、 type类型声明

3、 class类声明

4、 object对象声明

5、 Scala Trait(特征)

6、 编程实战:Scala语言类与对象编程实战

 

第9个主题: Scala高级编程(介绍Scala语言高级编程功能)60分钟

1、 Scala模式匹配

2、 Scala正则表达式

3、 Scala异常处理

4、 Scala提取器(Extractor)

5、 Scala文件I/O

6、 Scala多线程开发

7、 编程实战:Scala语言高级编程实战

 

第10个主题: Scala工程管理(介绍Scala语言工程管理方法)30分钟

1、 项目管理工具

2、 打包工具SBT

3、 编程实战:用SBTScala项目打包与发布

 

时间

内容

第二天

 

第11个主题: 大数据内存计算技术介绍(深入剖析Spark Core实现原理)120分钟

1、 Spark概述

2、 Spark基本概念介绍

3、 Spark架构剖析

4、 Spark运行环境介绍

5、 Spark集群部署

6、 Mesos介绍

7、 Spark RDD计算模型解析

8、 Spark RDD操作剖析

9、 DAG有向无环图介绍

10、 Spark Shell命令行交互式编程

11、 Spark 脚本编程

12、 利用Python语言开发Spark程序PySpark

13、 构建与运行Spark应用

14、 Spark编程实战

a)      Java编写Spark程序

b)     Scala编写Spark程序

c)      Python编写Spark程序

d)     R编写Spark程序

 

 

第12个主题: Spark编程基础操作(深入剖析Spark编程基础操作)120分钟

1、 并行数据集合(Parallelized Collections

2、 弹性分布式数据集RDDResilient Distributed Dataset

3、 RDDs两种类型操作

4、 actions

5、 transformations

6、 count()

7、 first()

8、 filter()

9、 map()

10、 flatMap()

11、 mapPartitions()

12、 union()