课程简介
本课程首先从全局的视角,全面介绍了未来技术发展的趋势,以及大数据在整个技术架构中所处的位置。大数据的应用场景、设计思想,以及如何开发大数据的商业价值。
接着,课程由浅入深地介绍了Hadoop及其核心组件、Spark分布式计算框架与Scala语言。在此基础上,课程详细讲解了建设大数据分析系统所需的各类系统及其开发实战,包括Sqoop, Hive, HBase, Kylin, ElasticSearch, Kafka, Flink以及Zookeeper。
课程最后,站在实战的角度,讲解了一个传统分析型系统的大数据转型过程:期初遇到哪些难题,解决的思路,以及整个转型的过程。
目标收益
培训对象
1、系统架构师、系统分析师、高级程序员、资深开发人员。
2、牵涉到海量数据处理的机构数据中心运行、规划、设计负责人。
3、云服务运营服务提供商规划负责人。
4、高校、科研院所牵涉到大数据与分布式数据处理的项目负责人。
课程大纲
第一单元 大数据分析处理技术与商业价值 |
什么是大数据 1.传统的软件架构 1)传统架构的设计局限 2)用户操作的三种类型 3)针对三种操作的优化策略 4)基于读写分离的架构设计 应用案例:淘宝网的架构设计 2.BI分析系统 1)OLTP vs. OLAP 2)面向主题的设计思想 3)数据仓库与BI分析系统 4)基于传统架构的BI系统建设 5)基于大数据的BI系统建设 应用案例:宏观经济分析系统与中美贸易摩擦的分析 3.大数据分析系统 1)解决大并发问题的方案→读写分离→NoSQL数据库 应用案例:12306网站的余票查询 2)解决海量数据收集与存储→收集日志文件→分布式文件系统 应用案例:用户推荐系统的建设 3)数据挖掘与机器学习→丰富的分析工具→组建数据分析团队 应用案例:企业征信平台 大数据时代思维的变革 1.不是随机样本,而是全体数据 2.不是精确性,而是混杂性 3.不是因果关系,而是相关关系 大数据时代的商业价值 1.从最不可能的地方获取数据 2.不再是数字化,而是数据化 1)文字变为数据 2)方位变为数据 3)沟通变为数据 3.数据的思维创新 1)数据的再利用 2)数据的可扩展 3)数据的折旧值 4)数据的开放性 4.大数据的商业应用 1)大数据运营 2)用户行为分析 3)精准营销与推荐系统 4)风险控制与反欺诈 5)实时分析系统 |
第二单元 Hadoop技术框架 |
Hadoop的发展历程 1.Google的MapReduce 2.Google的Bigtable 3.Facebook的Cassandra 结论:Hadoop有效地降低了大数据门槛 Hadoop的设计理念 1.分布式并行计算 2.移动计算而不是移动数据 3.单点故障可容忍 Hadoop的生态圈 1.Hadoop核心组件:MapReduce,HDFS 2.Hadoop2.0 1)Yarn与Hue 2)Cloudera vs. Hortonworks 3.并行计算框架:Spark vs. MapReduce 4.在线查询:HBase与Impala 5.流式计算:Storm vs. Spark Stream 6.文本索引:Solr vs. ElasticSearch 7.Zookeeper与高可靠架构 8.Kafka分布式队列与日志收集 9.数据挖掘工具:Mahout、SparkR与Spark ML |
第三单元 Hadoop核心组件 |
工作原理 1.HDFS的工作原理 2.MapReduce的工作原理 3.对工作原理的深度解读 1)深度理解“移动计算” 2)Hadoop的性能问题 3)Hadoop的优势与劣势 MapReduce实战 实战:编写WordCount程序 实战:实现日志分析程序(Map only) 实战:实现数据关联查询 MapReduce的性能调优 1.使用分布式缓存 2.处理文件的读写 3.Combiner, partitioner与order 4.重复使用变量原则 |
第四单元 Spark技术 |
工作原理 1.Spark在Hadoop生态圈中的位置 2.Spark vs. MapReduce 3.Spark系统架构与RDD 1)RDD的运行原理 2)转换/行动 命令 3)名-值对RDD 案例:WordCount在Spark中的实现 Spark编程 1.对RDD编程 1)转换命令 2)行动命令 2.对名-值对RDD编程 1)聚合/分组/连接/排序 2)优化 3.数据装载与保存 4.SparkSQL 案例:运用Spark实现用户资料的采集与展现 Scala编程语言 1.Scala语言的编程特点 1)函数式编程风格 2)交互式解释器 2.Scala编程基础 1)定义变量、函数、类与对象 2)定义数组、list、set、map、元组与循环体 3)If, switch及基本操作 4)异常处理及类的层次关系 3.函数式编程 1)类成员函数、局部函数 2)函数的简化写法与闭包 3)可变参数、命名参数、缺省参数 4)尾递归 4.组合与继承 1)抽象类与抽象方法 2)重载成员函数与方法 Spark的测试与发布 1.Spark-shell 2.本地运行调试 3.部署运行分布式系统 |
第五单元 大数据系统转型 |
传统分析系统向大数据转型 1.传统BI系统面临的难题 1)团队大数据0基础 2)要快速进入市场 解决方案: 1)正确的技术选型降低门槛 2)演化式技术转型 2.案例:一次税务数据分析的演化式BI转型过程 1)项目背景介绍 2)革命式大数据转型的风险 3)渐进式大数据转型的思路 4)转型过程中的技术选型思路 第一阶段转型:ETL过程的大数据转型 大数据分析系统的整体架构 1.传统BI分析系统的设计套路 1)多维建模与数据仓库 2)数据治理与ETL过程 2.大数据分析系统的架构设计 1)大数据分析系统的技术选型 2)大数据分析系统的硬件配置 数据导入导出 1.sqoop工作原理 2.数据导入功能 1)导入成HDFS、Hive、HBase 2)增量导入 实战:数据导入的实战应用 3.数据导出功能 1)导出成HDFS、Hive、HBase 2)增量导出 实战:数据导出的实战应用 ETL过程 1.ETL的概念 2.Hive工作原理 3.Hive命令:创建表、导入数据、查询数据、分区 4.Hive+SparkSQL的开发实战 5.清洗、转换、集成、装载的应用案例 数据查询 1.离线分析、在线查询与近线分析 2.NoSQL数据库 1)分布式架构CAP理论 2)BASE原则与弱一致性 3)NoSQL数据库的特点与优势 3.HBase的工作原理 1)HBase的概念模型 2)HBase的物理模型 3)HBase的列式存储 4)HBase的系统架构 5)HBase存储数据的特点 4.HBase的开发实战 高可靠的架构设计 1.Zookeeper的运行原理 2.实战:Zookeeper实现高可靠的软件架构 第二阶段转型:建立ElasticSearch数据索引 数据索引 1.ElasticSearch的性能分析与特点 2.ElasticSearch的应用实战 1)建立ElasticSearch的Hive映射表 2)往ElasticSearch中写入数据 3)用REST接口进行海量数据秒级查询 3.ElasticSearch应用开发应注意的问题 第三阶段转型:引入Kylin大数据多维建模 数据分析 1.多维数据建模 2.Kylin的工作原理 3.Kylin的开发实战 1)Kylin的数据导入 2)建立数据模型 3)建立Cube 4)使用jdbc进行数据查询 4.Kylin的性能优化 1)Kylin的数据膨胀率 2)强制索引、层级索引与组合索引 3)Kylin的增量导入脚本 第四阶段转型:深度大数据应用 实时数据分析 1.批处理 vs. 实时分析 2.实时分析系统应用实战 1)Flink及其原理 2)Kafka及其原理 3)Kafka+Flink的应用实战 案例:用户行为分析应用举例 数据挖掘与人工智能 1.数据挖掘算法及其原理 2.数据挖掘过程及其人员配置 3.SparkML简介 案例:远程智慧医疗平台的人工智能建设过程 |
第一单元 大数据分析处理技术与商业价值 什么是大数据 1.传统的软件架构 1)传统架构的设计局限 2)用户操作的三种类型 3)针对三种操作的优化策略 4)基于读写分离的架构设计 应用案例:淘宝网的架构设计 2.BI分析系统 1)OLTP vs. OLAP 2)面向主题的设计思想 3)数据仓库与BI分析系统 4)基于传统架构的BI系统建设 5)基于大数据的BI系统建设 应用案例:宏观经济分析系统与中美贸易摩擦的分析 3.大数据分析系统 1)解决大并发问题的方案→读写分离→NoSQL数据库 应用案例:12306网站的余票查询 2)解决海量数据收集与存储→收集日志文件→分布式文件系统 应用案例:用户推荐系统的建设 3)数据挖掘与机器学习→丰富的分析工具→组建数据分析团队 应用案例:企业征信平台 大数据时代思维的变革 1.不是随机样本,而是全体数据 2.不是精确性,而是混杂性 3.不是因果关系,而是相关关系 大数据时代的商业价值 1.从最不可能的地方获取数据 2.不再是数字化,而是数据化 1)文字变为数据 2)方位变为数据 3)沟通变为数据 3.数据的思维创新 1)数据的再利用 2)数据的可扩展 3)数据的折旧值 4)数据的开放性 4.大数据的商业应用 1)大数据运营 2)用户行为分析 3)精准营销与推荐系统 4)风险控制与反欺诈 5)实时分析系统 |
第二单元 Hadoop技术框架 Hadoop的发展历程 1.Google的MapReduce 2.Google的Bigtable 3.Facebook的Cassandra 结论:Hadoop有效地降低了大数据门槛 Hadoop的设计理念 1.分布式并行计算 2.移动计算而不是移动数据 3.单点故障可容忍 Hadoop的生态圈 1.Hadoop核心组件:MapReduce,HDFS 2.Hadoop2.0 1)Yarn与Hue 2)Cloudera vs. Hortonworks 3.并行计算框架:Spark vs. MapReduce 4.在线查询:HBase与Impala 5.流式计算:Storm vs. Spark Stream 6.文本索引:Solr vs. ElasticSearch 7.Zookeeper与高可靠架构 8.Kafka分布式队列与日志收集 9.数据挖掘工具:Mahout、SparkR与Spark ML |
第三单元 Hadoop核心组件 工作原理 1.HDFS的工作原理 2.MapReduce的工作原理 3.对工作原理的深度解读 1)深度理解“移动计算” 2)Hadoop的性能问题 3)Hadoop的优势与劣势 MapReduce实战 实战:编写WordCount程序 实战:实现日志分析程序(Map only) 实战:实现数据关联查询 MapReduce的性能调优 1.使用分布式缓存 2.处理文件的读写 3.Combiner, partitioner与order 4.重复使用变量原则 |
第四单元 Spark技术 工作原理 1.Spark在Hadoop生态圈中的位置 2.Spark vs. MapReduce 3.Spark系统架构与RDD 1)RDD的运行原理 2)转换/行动 命令 3)名-值对RDD 案例:WordCount在Spark中的实现 Spark编程 1.对RDD编程 1)转换命令 2)行动命令 2.对名-值对RDD编程 1)聚合/分组/连接/排序 2)优化 3.数据装载与保存 4.SparkSQL 案例:运用Spark实现用户资料的采集与展现 Scala编程语言 1.Scala语言的编程特点 1)函数式编程风格 2)交互式解释器 2.Scala编程基础 1)定义变量、函数、类与对象 2)定义数组、list、set、map、元组与循环体 3)If, switch及基本操作 4)异常处理及类的层次关系 3.函数式编程 1)类成员函数、局部函数 2)函数的简化写法与闭包 3)可变参数、命名参数、缺省参数 4)尾递归 4.组合与继承 1)抽象类与抽象方法 2)重载成员函数与方法 Spark的测试与发布 1.Spark-shell 2.本地运行调试 3.部署运行分布式系统 |
第五单元 大数据系统转型 传统分析系统向大数据转型 1.传统BI系统面临的难题 1)团队大数据0基础 2)要快速进入市场 解决方案: 1)正确的技术选型降低门槛 2)演化式技术转型 2.案例:一次税务数据分析的演化式BI转型过程 1)项目背景介绍 2)革命式大数据转型的风险 3)渐进式大数据转型的思路 4)转型过程中的技术选型思路 第一阶段转型:ETL过程的大数据转型 大数据分析系统的整体架构 1.传统BI分析系统的设计套路 1)多维建模与数据仓库 2)数据治理与ETL过程 2.大数据分析系统的架构设计 1)大数据分析系统的技术选型 2)大数据分析系统的硬件配置 数据导入导出 1.sqoop工作原理 2.数据导入功能 1)导入成HDFS、Hive、HBase 2)增量导入 实战:数据导入的实战应用 3.数据导出功能 1)导出成HDFS、Hive、HBase 2)增量导出 实战:数据导出的实战应用 ETL过程 1.ETL的概念 2.Hive工作原理 3.Hive命令:创建表、导入数据、查询数据、分区 4.Hive+SparkSQL的开发实战 5.清洗、转换、集成、装载的应用案例 数据查询 1.离线分析、在线查询与近线分析 2.NoSQL数据库 1)分布式架构CAP理论 2)BASE原则与弱一致性 3)NoSQL数据库的特点与优势 3.HBase的工作原理 1)HBase的概念模型 2)HBase的物理模型 3)HBase的列式存储 4)HBase的系统架构 5)HBase存储数据的特点 4.HBase的开发实战 高可靠的架构设计 1.Zookeeper的运行原理 2.实战:Zookeeper实现高可靠的软件架构 第二阶段转型:建立ElasticSearch数据索引 数据索引 1.ElasticSearch的性能分析与特点 2.ElasticSearch的应用实战 1)建立ElasticSearch的Hive映射表 2)往ElasticSearch中写入数据 3)用REST接口进行海量数据秒级查询 3.ElasticSearch应用开发应注意的问题 第三阶段转型:引入Kylin大数据多维建模 数据分析 1.多维数据建模 2.Kylin的工作原理 3.Kylin的开发实战 1)Kylin的数据导入 2)建立数据模型 3)建立Cube 4)使用jdbc进行数据查询 4.Kylin的性能优化 1)Kylin的数据膨胀率 2)强制索引、层级索引与组合索引 3)Kylin的增量导入脚本 第四阶段转型:深度大数据应用 实时数据分析 1.批处理 vs. 实时分析 2.实时分析系统应用实战 1)Flink及其原理 2)Kafka及其原理 3)Kafka+Flink的应用实战 案例:用户行为分析应用举例 数据挖掘与人工智能 1.数据挖掘算法及其原理 2.数据挖掘过程及其人员配置 3.SparkML简介 案例:远程智慧医疗平台的人工智能建设过程 |