当下是大数据时代,为构建大数据平台,技术人员需要对分布式计算平台有一定深入的理解和应用。MapReduce作为一个经典的分布式计算框架,已经广为人知,且得到了广泛的应用,但MapReduce自身存在很多问题,包括迭代式计算和DAG计算等类型的数据挖掘与机器学习算法性能低下,不能很好地利用内存资源,编程复杂度较高等。为了克服MapReduce的众多问题,新型计算框架出现了。Spark已经被不少互联网公司采用,大部分数据挖掘算法和迭代式算法在逐步MapReduce平台迁移到Spark平台中,包括阿里巴巴,腾讯,百度,优酷土豆,360,支付宝等互联网公司已经在线上产品中使用spark,且取得了令人满意的效果,另外,部分省份的运营商也正在尝试使用spark解决数据挖掘和分析问题,部分银行,如工商银行,也正在尝试spark平台。
1、深入理解Spark计算原理和编程模型,掌握SparkCore和SparkSql、SparkStreaming等上层系统的结合方式
2、深入掌握SparkCore、SparkSql使用调优技巧
3、深入掌握SparkStreaming和SparkMllib使用和调优技巧
4、深入掌握Spark和其他组件的结合使用
5、了解Spark与MapReduce分布式计算模型的区别和各自适合的使用场景。
6、能够使用java、python和scala进行spark应用开发(如果要讲解三种语言开发spark,工作量会非常大,建议只讲解一种(可以根据企业的要求来定,)
7、熟练使用spark、sparkstreaming、sparkSQL、sparkmllib
8、深入了解spark在大型互联网的架构和使用场景
本课程基于最新的spark2讲解,内容涵盖了企业中大数据处理的四大场景:
离线批处理、流式计算、SQL处理、机器学习。Spark是一个广泛应用的分布式内存计算模型,旨在大幅提升的迭代算法和交互低延迟数据挖掘的性能。Spark更适合于迭代运算比较多的ML和DM运算,onestackrulethemall!Spark号称一个平台可以适合所有的应用,如SparkSql可以处理结构化数据,SparkStreaming旨在提供实时的计算能力,而SparkMllib则提供了丰富机器学习算法库。
模块一Spark2.1概述
1、Spark产生背景,包括mapreduce缺陷,多计算框架并存等
2、Spark基本特点
3、Spark版本演化
4、Spark核心概念,包括RDD,transformation,action,cache等
5、Spark生态系统,包括Spark生态系统构成,以及与Hadoop生态系统关系
6、Spark在互联网公司中的地位与应用
7、介绍当前互联网公司的Spark应用案例
8、Spark集群搭建,包括测试集群搭建和生产环境中集群搭建方法,并亲手演示整个过程
9、背景知识补充介绍
模块二SparkCore
Spark程序设计与企业级应用案例
1、Spark运行模式介绍
Spark运行组件构成,spark运行模式(local、standalone、mesos/yarn等)
2、Spark开发环境构建
集成开发环境选择,亲手演示spark程序开发与调试,spark运行
3、常见transformation与action用法
介绍常见transformation与action使用方法,以及代码片段剖析
4、常见控制函数介绍
包括cache、broadcast、accumulator等
5、Spark应用案例:点击流日志分析
包括:背景介绍,数据导入,数据分析,常见Sparktransformation和action用法在线演示
模块三Spark
内部原理剖析与源码阅读
1、Spark运行模式剖析
深入分析spark运行模式,包括local,standalone以及sparkonyarn
2、Spark运行流程剖析
包括spark逻辑查询计划,物理查询计划以及分布式执行
3、Sparkshuffle剖析
深入介绍sparkshuffle的实现,主要介绍hash-based和sort-based两种实现
4、Spark源码阅读
Spark源码构成以及阅读方法
模块三Spark
程序调优技巧
1、数据存储格式调优数据存储格式选择,数据压缩算法选择等
2、资源调优
如何设置合理的executor、cpu和内存数目,YARN多租户调度器合理设置,启用YARN的标签调度策略等
3、程序参数调优
介绍常见的调优参数,包括避免不必要的文件分发,调整任务并发度,提高数据本地性,JVM参数调优,序列化等
4、程序实现调优
如何选择最合适的transformation与action函数
5、调优案例分享与演示
演示一个调优案例,如何将一个spark程序的性能逐步优化20倍以上。
模块四Sparksql2.1
SparkSQL基本原理
1、SparkSQL是什么
2、SparkSQL基本原理
3、SparkDataframe与DataSet
4、SparkSQL与SparkCore的关系
模块五SparkSQL
程序设计与企业级应用案例
1、SparkSQL程序设计
a.如何访问MySQL、HDFS等数据源,如何处理parquet格式数据
b.常用的DSL语法有哪些,如何使用
c.SparkSQL调优技巧
d.数据倾斜解决方案
模块六SparkStreaming程序设计及应用案例
1、SparkStreaming基本原理
a.SparkStreaming是什么
b.SparkStreaming基本原理
c.StructuredStreaming
d.SparkStreaming编程接口介绍
e.SparkStreaming应用案例
2、SparkStreaming程序设计与企业级应用案例
a.常见流式数据处理模式
b.SparkStreaming与Kafka交互
c.SparkStreaming与Redis交互
d.SparkStreaming部署与运行
e.SparkStreaming企业级案例:用户行为实时分析系统
模块七SparkMllib
SparkMLlib
企业级案例
1.SparkMLlib简介
2.数据表示方式
3.MLlib中的聚类、分类和推荐算法
4.如何使用MLlib的算法
5.SparkMLLib企业级案例:用户画像之性别预测
模块八Spark综合案例
信用评分实时分析系统
1.背景介绍
2.什么是Lambdaarchitecture
3.利用SparkCore+MLlib+构建离线处理
4.利用flume+SparkStreaming+Redis构建实时处理线
5.整合批处理和实时处理线
模块八Spark综合案例
信用评分实时分析系统
1.背景介绍
2.什么是Lambdaarchitecture
3.利用SparkCore+MLlib+构建离线处理
4.利用flume+SparkStreaming+Redis构建实时处理线
5.整合批处理和实时处理线
模块九典型项目
案例实战
基于spark日志分析
个性化推荐系统:带你揭开其神秘面纱
在线投放引擎
揭开淘宝点击推荐系统的神秘面纱
淘宝数据服务架构—实时计算平台
张老师:阿里大数据高级专家,国内资深的Spark、Hadoop技术专家、虚拟化专家,对HDFS、MapReduce、HBase、Hive、Mahout、Storm、spark和openTSDB等Hadoop生态系统中的技术进行了多年的深入的研究,更主要的是这些技术在大量的实际项目中得到广泛的应用,因此在Hadoop开发和运维方面积累了丰富的项目实施经验。近年主要典型的项目有:某电信集团网络优化、中国移动某省移动公司请账单系统和某省移动详单实时查询系统、中国银联大数据数据票据详单平台、某大型银行大数据记录系统、某大型通信运营商全国用户上网记录、某省交通部门违章系统、某区域医疗大数据应用项目、互联网公共数据大云(DAAS)和构建游戏云(WebGameDaas)平台项目等。
各地企事业单位大数据产业相关人员,运营商 IT信息化和运维工程师相关人员,金融业信息化相关人员,或对大数据spark感兴趣的相关人员。