课程简介
工业和信息化部电信研究院于2014年5月发布的“大数据白皮书”中指出:
“2012 年美国联邦政府就在全球率先推出“大数据行动计划(Big data initiative)”,重点在基础技术研究和公共部门应用上加大投入。在该计划支持下,加州大学伯克利分校开发了完整的大数据开源软件平台“伯克利数据分析软件栈(Berkeley Data Analytics Stack),其中的内存计算软件Spark的性能比Hadoop 提高近百倍,对产业界大数据技术走向产生巨大影响”----来源:工业和信息化部电信研究院
Spark是成为替代MapReduce架构的大数据分析技术,Spark的大数据生态体系包括流处理、图技术、机器学习等各个方面,并且已经成为Apache顶级项目,可以预计的是2014年下半年到2015年在社区和商业应用上会有爆发式的增长。
国内外一些大型互联网公司已经部署了Spark,并且它的高性能已经得到实践的证明。国外Yahoo已在多个项目中部署Spark,尤其在信息推荐的项目中得到深入的应用;国内的淘宝、爱奇异、优酷土豆、网易、baidu、腾讯等大型互联网企业已经将Spark应用于自己的生产系统中。国内外的应用开始越来越广泛。Spark正在逐渐走向成熟,并在这个领域扮演更加重要的角色。
课程目标
1、 结合编码实例讲解Spark的概念、架构及用法;
2、 Spark如何选择合适的执行环境,如何配置合适的执行参数,如何确保环境的稳定运行,如何避免数据丢失及灾难恢复;
3、 结合案例讲解下 Spark 图计算 GraphX 的一些应用;
4、 结合一个完整的 Spark项目,讲解项目落地需要注意的各种事项。
课程对象
1、 对大数据、分布式存储、分析等感兴趣的人员;
2、 大型网站、电商网站等运维人员;
3、 云计算、大数据从业者;
4、 熟悉Hadoop生态体系,想了解和学习Hadoop与Spark整合在企业应用实战案例的人员;
5、 系统架构师、系统分析师、高级程序员、资深开发人员;
6、 牵涉到大数据处理的数据中心运行、规划、设计负责人;
7、 政府机关,金融保险、移动互联网等大数据单位的负责人;
8、 高校、科研院所大数据研究人员,涉及到大数据与分布式数据处理的人员;
9、 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;
课程形式
以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。
课程大纲
时间 | 内容 |
第一天 |
第1个主题: Spark的应用实践案例(基于Spark的应用实践案例,深入剖析Spark的架构、处理能力、应用类型)(30分钟) 1、 Spark诞生背景 2、 MapReduce的优势与不足 3、 Spark架构原理 4、 Spark处理能力 5、 Spark应用类型 6、 Spark应用场景 7、 Spark企业应用实践案例 8、 Spark程序调优建议 9、 Spark程序最佳实践 10、 针对不同硬件配置如何调节参数 11、 Spark集群服务器硬件配置采购建议 12、 Spark应用错误如何查找,如内存溢出
第2个主题: 结合编码实例讲解Spark的概念、架构及用法(结合编码实例深入讲解Spark的概念、架构及用法)(90分钟) 1、 Spark概述 2、 Spark基本概念介绍 3、 Spark架构剖析 4、 Spark运行环境介绍 5、 Spark集群部署 6、 Mesos介绍 7、 SparkRDD计算模型解析 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程序
第3个主题: 结合编码实例讲解Spark编程函数(结合编码实例讲解深入讲解Spark编程函数操作)(90分钟) 1、 并行数据集合(Parallelized Collections) 2、 弹性分布式数据集RDD(Resilient Distributed Dataset) 3、 RDDs两种类型操作 4、 actions 5、 transformations 6、 count() 7、 first() 8、 filter() 9、 map() 10、 flatMap() 11、 mapPartitions() 12、 union() 13、 reduce() 14、 collect() 15、 take() 16、 foreach() 17、 saveAsTextFile 18、 Spark缓存cache() 19、 导入Java库 20、 Spark Key-Value操作 21、 reduceByKey 22、 groupByKey 23、 sortByKey 24、 countByKey 25、 join() 26、 repartition() 27、 shuffle操作 28、 RDD持久化操作 29、 spark-submit运行程序 30、 Spark共享变量(Shared Variables) 31、 Broadcast变量(Broadcast Variables) 32、 Accumulators变量 33、 编程实战:Spark基础操作编程实战
第4个主题: Spark编程技巧分享(分享Spark编程技巧与实践经验)(90分钟) 1、 Spark开发分析 2、 Spark的执行机制解析 3、 Spark运行原理剖析 4、 Spark的调试与任务分配 5、 Spark的性能调优 6、 Spar如何选择合适的执行环境 7、 如何配置合适的执行参数 8、 如何确保环境的稳定运行 9、 如何避免数据丢失及灾难恢复 10、 Spark与MapReduce对比分析 11、 Spark生态体系剖析 12、 Spark监控管理 13、 Spark的容错机制剖析 14、 Spark集群部署 15、 Spark集群部署经验分享 16、 Spark大规模集群运维经验分享 17、 Spark应用现状 18、 Spark应用优势 19、 Spark应用案例
第5个主题: 大数据内存计算技术实战分享(深入理解Spark Core使用实战操作)(60分钟) 1、 Spark Shell 3、 构建与运行Spark应用 4、 Spark的性能调优 5、 Spark实战案例:预测国际经济危机实战案例开发
|
时间 | 内容 |
第二天 |
第6个主题: Spark可访问外部数据源(剖析Spark访问外部数据源)(60分钟) 1、 Spark分布式文件读写 2、 文件系统 3、 HDFS 4、 HBase 5、 Hive 6、 Cassandra 7、 Tachyon 8、 编程实战:Spark操作外部数据源编程实战 9、 Spark实战案例:Spark与HBase整合分析数据
第7个主题: Spark实现大数据个性化精准推荐项目实战(Spark实现大数据个性化精准推荐项目)(120分钟) 1、 结合一个完整的Spark项目,讲解项目落地需要注意的各种事项 2、 个性化推荐的理论依据 3、 个性化推荐的价值 4、 个性化推荐能达到的目的 5、 个性化推荐的原则 6、 个性化推荐技术发展史 7、 个性化推荐的相关技术 8、 基于用户的常用推荐算法 9、 基于用户的协同过滤推荐
第8个主题: Spark图计算GraphX的应用案例讲解(深入剖析Spark图计算GraphX的应用案例讲解)(180分钟) 1、 Spark GraphX概述 2、 Spark GraphX图计算理论剖析 3、 Spark GraphX框架剖析 4、 Spark GraphX的图属性 5、 Spark GraphX的图操作 6、 操作列表 7、 属性操作 8、 结构操作 9、 连接操作 10、 近邻集合操作 11、 Caching and Uncaching 12、 Pregel APIs 13、 Graph Builders 14、 Vertex与Edge RDDs 15、 Optimized Representation 16、 Graph Algorithms 17、 PageRank 18、 Connected Components 19、 Triangle Counting 20、 Spark GraphX编程剖析 21、 Spark GraphX APIs介绍 22、 实战案例:Spark GraphX实现社交网络关系分析 |