课程特色
Hadoop生态系统是大数据技术事实标准,是大数据思想、理念、机制的具体实现,是整个大数据技术中公认的核心框架和具有极强的使用价值与研究价值。Hadoop 系统是一款开源软件,能够处理海量的各种结构(包括结构化、非结构化、半结构化)的数据。
Yarn是基于Hadoop的分布式集群资源管理框架;随着Hadoop集群应用的广泛,以及集群的规模越来越大,人们发现Hadoop MRv1存在诸多问题,因此Hadoop MRv2诞生,即现在的YARN,解决了4000节点的上限问题。
基于 Hadoop 的解决方案能够帮助企业应对多个大数据挑战,包括:
1、 分析海量(PB 级或者更多)的数据
Hadoop 能够分析所有数据,使得分析更准确,预测更精确;
2、 从多个数据类型的组合中获得新的洞察力
将来自多个数据源的不同类型的数据进行结合分析,发现新的数据关系和洞察力;
3、 存储大量的数据
由于它不依赖于高端硬件,且是可扩展的,所以使存储大量数据变得经济有效;
4、 数据发现(data discovery)和研究
Hadoop 提供了一个地方,数据科学家可在此发现新的数据关系和相互依赖性。
工业和信息化部电信研究院于2014年5月发布的“大数据白皮书”中指出:
“2012 年美国联邦政府就在全球率先推出“大数据行动计划(Big data initiative)”,重点在基础技术研究和公共部门应用上加大投入。在该计划支持下,加州大学伯克利分校开发了完整的大数据开源软件平台“伯克利数据分析软件栈(Berkeley Data Analytics Stack),其中的内存计算软件Spark的性能比Hadoop 提高近百倍,对产业界大数据技术走向产生巨大影响”----来源:工业和信息化部电信研究院
Spark是成为替代MapReduce架构的大数据分析技术,Spark的大数据生态体系包括流处理、图技术、机器学习等各个方面,并且已经成为Apache顶级项目,可以预计的是2014年下半年到2015年在社区和商业应用上会有爆发式的增长。
国内外一些大型互联网公司已经部署了Spark,并且它的高性能已经得到实践的证明。国外Yahoo已在多个项目中部署Spark,尤其在信息推荐的项目中得到深入的应用;国内的淘宝、爱奇异、优酷土豆、网易、baidu、腾讯等大型互联网企业已经将Spark应用于自己的生产系统中。国内外的应用开始越来越广泛。Spark、HBase、Flink正在逐渐走向成熟,并在这个领域扮演更加重要的角色。
课程目标
1、 通过培训使学员深入理解Spark、HBase、Flink的大数据实现技术原理;
2、 通过培训使学员深入理解并能开发Spark 的Core、Streaming、SQL、Mllib、GraphX等子项目;
3、 通过培训使学员深入理解并能开发HBase项目;
4、 通过培训使学员深入理解并能开发Flink的DataStream API、Table API & SQL、Stateful Functions等项目;
5、 通过培训使学员具备Spark、HBase、Flink的开发能力;
6、 通过培训使学员学会开发Spark、HBase、Flink程序,处理业务数据;
课程方式
以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。
课程对象
1、 对大数据、分布式存储、分析等感兴趣的人员;
2、 大型网站、电商网站等运维人员;
3、 云计算、大数据从业者;
4、 熟悉Hadoop生态体系,想了解和学习Hadoop与Spark、HBase、Flink整合在企业应用实战案例的人员;
5、 系统架构师、系统分析师、高级程序员、资深开发人员;
6、 牵涉到大数据处理的数据中心运行、规划、设计负责人;
7、 政府机关,金融保险、移动互联网等大数据单位的负责人;
8、 高校、科研院所大数据研究人员,涉及到大数据与分布式数据处理的人员;
9、 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;
课程大纲
时间 | 内容 |
第一天 | 第1个主题: 大数据内存计算技术介绍(深入理解Spark Core实现原理)(60分钟) 1、 Spark应用现状 2、 Spark应用优势 3、 Spark应用案例 4、 Scala介绍 5、 Mesos介绍 6、 Spark介绍 7、 Spark基本概念介绍 8、 Spark架构剖析 9、 SparkRDD计算模型解析 10、 Spark RDD操作剖析 11、 DAG有向无环图介绍 12、 Spark编程 a) Java编写Spark程序 b) Scala编写Spark程序 c) Python编写Spark程序 d) R编写Spark程序 13、 Spark可访问的数据源介绍 a) 文件系统 b) HDFS c) HBase d) Hive e) Cassandra f) Tachyon 14、 Spark编程技巧分享 15、 Spark开发分析 16、 Spark的执行机制解析 17、 Spark运行原理剖析 18、 Spark的调试与任务分配 19、 Spark的性能调优 20、 Spark与MapReduce对比分析 21、 Spark生态体系剖析 22、 Spark监控管理 23、 Spark的容错机制剖析 24、 Spark集群部署 25、 Spark集群部署经验分享 26、 Spark大规模集群运维经验分享 27、 Spark实战案例:Spark与HBase整合分析数据 第2个主题: 案例:大数据内存计算技术实战分享(深入理解Spark Core使用实战操作)(60分钟) 1、 Spark Shell 2、 PySpark 3、 构建与运行Spark应用 4、 Spark的性能调优 5、 Spark实战案例:预测国际经济危机实战案例开发 第3个主题: Spark SQL技术实战(深入理解Spark SQL实现原理及开发实战)(60分钟) 1、 Spark SQL概述 2、 Spark SQL原理剖析 3、 Spark SQL架构介绍 4、 SparkSQL CLI 5、 Tree和Rule 6、 sqlContext和hiveContext的运行过程 7、 Load/Save函数 8、 Parquet文件读写 9、 Spark SQL连接JDBC 10、 Spark SQL连接ODBC 11、 Spark SQL分布式文件HDFS读写 12、 JSON数据集 13、 Hive表 14、 数据类型 15、 SparkSQL与 Cassandra集成 16、 Spark SQL APIs全面介绍 17、 Spark SQL and DataFrames 18、 Spark SQL and DataSets 19、 Spark SQL HiveQL 20、 Spark SQL编程 21、 运行Spark SQL程序 22、 在内存中缓存数据 23、 Spark SQL UDFs 24、 Spark SQL UADFs 25、 Spark SQL SerDes 26、 Spark SQL BI Tools 27、 Spark SQL实战案例:数据分析案例剖析 第4个主题: Spark Streaming流计算技术实战(深入理解Spark Streaming实现原理及开发实战)(60分钟) 1、 Spark Streaming概述 2、 Spark Streaming原理剖析 3、 Spark Streaming流数据处理框架介绍 4、 Spark Streaming编程剖析 5、 初始化StreamingContext 6、 Discretized Streams (DStreams) 7、 输入DStreams与Receivers 8、 基于DStreams的Transformations 9、 基于DStreams的输出操作 10、 Accumulators和Broadcast Variables 11、 DataFrame和SQL操作 12、 MLlib操作 13、 Caching与Persistence 14、 Checkpointing 15、 运行Spark Streaming程序 16、 性能调优:减少批处理时间 17、 性能调优:设置正确的批处理间隔时间 18、 内存调优 19、 容错元语 20、 实战案例:Spark Streaming与Kafka整合实现数据实时数据分析处理设计与分析 第5个主题: HBase架构揭秘和剖析(深入剖析HBase架构原理以及设计的思想,以及HBase适合的业务场景)(60分钟) 1、 HBase逻辑模型 2、 HBase列族与列 3、 HBase时间戳 4、 行式数据库 vs 列式数据库 5、 HBase物理模型 6、 Client 7、 HMaster 8、 HRegionServer 9、 HRegion 10、 Store 11、 MemStore 12、 StoreFile 13、 HFile 14、 HLog 15、 数据存储结构:LSM 16、 RowKey字典顺序排列 17、 KeyValue的存储格式 18、 HBase适合的业务场景剖析 19、 HBase不适合的业务场景举例 20、 分布式NoSQL数据库与事务 第6个主题: HBase性能优化(深入剖析与实操HBase优化过程)(60分钟) 1、 HBase硬件优化 2、 HBase网络优化 3、 HBase部署优化 4、 HBase配置参数优化 5、 HBase创建表优化 6、 HBase创建列优化 7、 HBase表结构设计优化 8、 HBase表使用优化 9、 HBase高并发读写优化(MapReduce编程优化) |
时间 | 内容 |
第二天 | 第7个主题: HBase具体项目开发实战(老师带领学员用HBase在课上亲自动手完成微博项目的开发过程)(60分钟) 1、 HBase开发环境搭建过程介绍 2、 倒排索引 3、 案例实战:微博项目 4、 微博业务概述 5、 微博业务功能说明 6、 微博逻辑架构设计 7、 微博开发使用的组件 8、 HBase表结构设计 9、 基于HBase的微博表结构设计 10、 基于HBase的微博项目代码开发 11、 基于HBase的微博项目的总结 12、 HBase API剖析 13、 HBase研发案例分享 14、 HBase应用 15、 基于HTable的MapReduce分析 16、 HBase Filter 17、 HBase Filters 18、 SingleColumnValueFilter示例 第8个主题: Spark与HBase整合分析HBase数据(整合Spark与HBase,利用Spark分析HBase大数据分布式数据库)(60分钟) 1、 Spark介绍 2、 Spark架构剖析 3、 Spark集群部署 4、 Spark Shell 5、 Spark开发分析 6、 Spark连接HBase 7、 Spark读写HBase表 8、 Spark数据分析 9、 案例:销售数据统计分析 第9个主题: Apache Flink流式计算模型(介绍Apache Flink流式计算模型)(60分钟) 1、 Apache Flink流式计算模型 2、 Apache Flink两种数据集 a) 无界数据集 b) 有界数据集 3、 Flink-sink 4、 SSL设置 5、 Flink的UI界面使用 6、 Flink的文件系统的支持 7、 Flink-WorkCount 8、 Flink执行模型 9、 DataStream开发 10、 DataStream Transformations 11、 Map、FlatMap、Filter、KeyBy、Reduce、Aggregations 12、 Physical partitioning 13、 Task chaining and resource groups 14、 Windows 15、 WindowAll、WindowApply、WindowReduce、WindowFold、 16、 Window Assigners 17、 Tumbling Windows 18、 Sliding Windows 19、 Session Windows 20、 Global Windows 21、 Window Functions 22、 Triggers 23、 实战案例:Apache Flink流计算实践案例 第10个主题: Apache Flink编程基础和特性(介绍Apache Flink编程基础和特性)(30分钟) 1、 Apache Flink编程基础 2、 Apache Flink DataSet开发 3、 Data Types & Serialization 4、 Data Sources 5、 Data Sinks 6、 Iterations 7、 Fault Tolerance 8、 Debugging 9、 Apache Flink编程案例实战 10、 Apache Flink分布式任务调度 11、 使用Apache Flink遇到的困难 第11个主题: 案例:Apache Flink结合场景应用(分享Apache Flink结合场景应用案例)(30分钟) 1、 结合场景应用案例 2、 Flink企业应用项目 3、 Flink处理大数据架构 4、 TopN计算实时最热门商品 5、 监控日志项目 第12个主题: Apache Flink性能与调优(介绍Apache Flink性能与调优)(30分钟) 1、 Flink运行状况监控 2、 Apache Flink性能 3、 Apache Flink调优 第13个主题: Apache Flink SQL实战(Apache Flink SQL实战)(60分钟) 1、 Apache Flink SQL说明 2、 Table API和SQL程序的结构 3、 将表转换为DataStream或DataSet 4、 Flink SQL编程 5、 数据同步 第14个主题: Apache Flink API实战(Apache Flink API实战)(60分钟) 1、 Apache Flink API说明 2、 DataSet API 3、 DataStream API 4、 Table API 5、 Apache Flink API最佳实践 6、 Apache Flink API开发实战 7、 最佳实践案例:月结算费用实践案例 第15个主题: 案例:Apache Flink机器学习算法剖析实战(Apache Flink ML实战)(60分钟) 1、 Flink ML,Flink的机器学习库 2、 Gelly,Flink的图计算库 3、 StreamGraph 4、 JobGraph 5、 ExecutionGraph 6、 Apache Flink API最佳实践 7、 Apache Flink API开发实战 8、 最佳实践案例:Flink流式计算实践案例 |