课程简介
本课程详细的介绍了Hadoop平台的常用组件,HDFS使用操作、MapReduce开发、yarn原理和应用、Hbase数据库开发、Hive数据仓库开发、Sqoop数据抽取、Flume数据采集、Kafka数据发布和订阅等核心技术,帮助学员能够深刻的理解Hadoop生态技术和基于Hadoop生态技术进行开发。
目标收益
1、本课程将为大家全面而又深入的介绍Hadoop的常用组件,涉及分布式数据收集,大数据存储,资源管理及分布式计算框架等。
2、深度掌握基于HDFS、Mapreduce、Yarn、Spark、Hbase、Hive、Sqoop、Flume和Kafka的使用
3、掌握Scala开发语言
培训对象
大数据开发人员
课程大纲
Day1 第一篇 大数据生态系统介绍 |
一、开源大数据技术架构 二、开源大数据常用组件之间的依赖关系 三、离线计算框架介绍 —Mapreduce、Hive、Tez、Presto、Kylin 四、实时查询框架介绍 —NoSQL、Hbase 五、实时计算框架介绍 —Kafka、Storm、Spark Streaming 六、内存计算框架介绍 —Spark、SparkSQL、SparkMllib、SparkR 七、前沿大数据技术介绍 —Flink、Drill、Druid、KUDU等 八、海量日志快速检索架构 —ELK(Elasticsearch、Logstash、Kibana)等 |
Day1 第二篇 分布式存储HDFS |
一、HDFS架构介绍 二、HDFS原理介绍 三、NameNode功能详解 四、DataNode功能详 五、HDFS HA功能详解 六、HSFD的fsimage和editslog详解 七、HDFS的block详解 八、HDFS的block的备份策略 九、Hadoop的机架感知配置 十、HDFS的权限详解 十一、Hadoop的客服端接入案例 十二、HDFS的客服端Cache使用 十三、HDFS读写性能的优化 十四,HDFS Snapshots的应用和原理介绍 |
Day1 第三篇 分布式计算MapReduce |
一、Mapreduce原理 二、MapReduce流程 三、剖析一个MapReduce程序 四、Mapper和Reducer抽象类详解 五、Mapreduce的最小驱动类 六、MapReduce自带的类型 七、自定义Writables和WritableComparables 八、Mapreduce的输入InputFormats 九、MapReduce的输出OutputFormats 十、Combiner详解 十一、Partitioner详解 十二、MapReduce的优化 十三、Map和Reduce的个数设置 十四、任务调度 十五、默认的任务调度 十六、公平任务调度 十七,能力任务调度 |
Day2 第四篇 Yarn分布式资源调度 |
一、 Yarn的原理和架构 二、Yarn资源调度策略 三、CPU、内存和IO三种资源调度优化 四、Yarn资源调度Fair和Capacity详解 五、JobHistory的功能介绍 六、Yarn动态资源的设置 七、动态分配特定节点给每个应用(MR、Flink、Spark、Hbase等) 八、基于Yarn的资源控制详解 九、基于Yarn实现底层SLA的资源分配 十,Yarn核心参数的详解和优化 |
Day2 第五篇 Hive实战 |
一、Hive的作用和原理说明 二、Hadoop仓库和传统数据仓库的协作关系 三、Hadoop/Hive仓库数据数据流 四、Hive的MetaStore详解 五、Hive的基本用法 六、Hive的server启动 七、HQL基本语法 八、Hive的加载数据本地加载和HDFS加载 九、Hive的partition详解 十、Hive的存储方式详解 十一、RCFILE、TEXTFILE和SEQUEUEFILE 十二、Hive的UDF和UDAF 十三、Hive的transform详解 十四,Hive的JDBC连接 |
Day2 第六篇 Hive数据仓库实战 |
一、数据接入大数据平台 —离线数据接入 —Sqoop工具介绍和使用 —RDBMS导入导出到Hive数据仓库 二、数据处理过程 —数据的ETL —数据分层(ODS、DW和DM等) —数据建模 —数据校验 三、数据应用 —数据离线应用 —数据实时应用 —数据实验室 四、数据展示工具(BI工具) 五、从原始搜索数据集中抽取、集成数据,整理后形成规范的数据仓库 六、基于Hadoop数据仓库的数据分层(ODS、DW、DWS/B、DM、ST) 七,数据仓库不同层之间的数据交互和ETL |
Day3 第七篇 NoSQL和Hbase实战 |
一、NoSQL介绍 二、NoSQL应用场景 三、Hbase的架构原理 四、Hbase核心概念详解(HMaster、HRegionServer、Store、StoreFile、HFile、HLog和MetaStore) 五、Hbase自带的namesapce和Meta表详解 六、HBase逻辑视图介绍 七、HBase物理视图介绍 八、HBase的RowKey设计原则 九、HBase BloomFilter的介绍 十、Hbase表的设计案例 十一、一对一设计 十二、一对多设计 十三、多对多设计 十四、时间序列的数据表的设计 十五、HBase的import功能介绍 十六、手动设置Split和Compaction操作 十七、Pre-Split的介绍 十八、RS宕机的运维处理 十九、HBase Region的迁移优化 二十、HBase 的表结构优化 二十一、HBase使用场景介绍 二十二、Hbase 的Phoenix工具介绍 二十三,HBase案例分析 |
Day3 第八篇 Sqoop和Flume实战 |
一、Flume架构和应用场景 二、Flume用用场景 三、Flume Agent介绍 —Source —Channel —Sink 四、Flume 采集数据到HDFS实战 五、Flume案例实战 六、Sqoop架构介绍 七、Sqoop抽取Oracle和Mysql的数据 八,Sqoop实战 |
Day3 第九篇 Kafka实战 |
一、kafka概述 二、kafka是什么 三、kafka概念详解:Topics/logs、Distributitions、Producers、Consumers、Guarantees。 四、 kafka的应用场景 五、kafka的体系架构与设计原理 六、 消息持久化 七、生产者与消费者 八、 消息传输机制 九、 复制备份 十、分配机制 十一,Kafka监控工具安装和使用 |
Day4 第十一篇 Spark core介绍 |
一、Spark的编程模型 二、Spark编程模型解析 三、Partition实现机制 四、RDD的特点、操作、依赖关系 五、Transformation RDD详解 六、Action RDD详解 七、Spark的累加器详解 八、Spark的广播变量详解 九、Spark容错机制 十、lineage和checkpoint详解 十一、Spark的运行方式 十二、Spark的Shuffle原理详解 —Sort-Based原理 —Hash-Based原理 十三、Spark2.0的新特性 十四,Spark DataFrame和DateSet介绍 |
Day4 第十二篇 Spark SQL实战 |
一、Spark SQL原理 二、Spark SQL的Catalyst优化器 —Parser解析模块 —Analyzer模块 —Optimizer模块 —physical Planning模块 三、Spark SQL内核 四、Spark SQL和Hive连接 五、DataFrame和DataSet架构 六、Fataframe、DataSet和Spark SQL的比较 七、SparkSQL parquet格式实战 八、Spark SQL UDF和UDAF实操 九、Spark SQL的实例和编程 十、Spark SQL的实例操作demo 十一,Spark SQL的编程 |
Day4 第十三篇 Spark Streaming详解和实战 |
一、Spark Streaming原理 二、Spark Streaming的应用场景 三、Windows 窗口操作 四、DStream详解 五、Spark SQL on Spark Streaming详解 六、Structured Streaming介绍 七、Structured Streaming的水印操作 八、Structured Streaming+kafka应用实战 九、流式任务的痛点和注意点 十、流式任务数据延迟问题 十一、流式任务作业性能问题 十二,流式任务任务常见的处理方式 |
Day5 第十四篇 Flink SQL实战 |
一、Flink SQL和Table开发实战 二、6.1 Flink SQL功能介绍 三、6.2 Flink SQL 四、6.3 Kafka+FlinkSQL整合 五、6.4 Flink Table介绍 六、6.5 Flink Table DSL语法介绍 七、Flink CDC介绍 八、7.1 传统CDC工具介绍 九、7.2 CDC工具介绍和比较 十、7.3 Flink CDC支持的功能 十一、7.4 基于日志CDC的数据同步流程 十二、7.5 ETL—传统CDC ETL分析 十三、7.6 ETL—基于Flink CDC 聚合分析 十四、7.7 Flink CDC 数据宽表 十五、7.8 Flink SQL如何集成CDC |
Day5 第十五篇 项目实战RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana项目实战 |
RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana项目实战: 1、Docker演示环境介绍 2、Flink CDC mysql实战 3、Flink CDC postgres实战 4、Flink CDC Kafka实战 5、Flink CDC ES实现 6、Kibana结果展示 7、RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana完整项目实战 |
Day1 第一篇 大数据生态系统介绍 一、开源大数据技术架构 二、开源大数据常用组件之间的依赖关系 三、离线计算框架介绍 —Mapreduce、Hive、Tez、Presto、Kylin 四、实时查询框架介绍 —NoSQL、Hbase 五、实时计算框架介绍 —Kafka、Storm、Spark Streaming 六、内存计算框架介绍 —Spark、SparkSQL、SparkMllib、SparkR 七、前沿大数据技术介绍 —Flink、Drill、Druid、KUDU等 八、海量日志快速检索架构 —ELK(Elasticsearch、Logstash、Kibana)等 |
Day1 第二篇 分布式存储HDFS 一、HDFS架构介绍 二、HDFS原理介绍 三、NameNode功能详解 四、DataNode功能详 五、HDFS HA功能详解 六、HSFD的fsimage和editslog详解 七、HDFS的block详解 八、HDFS的block的备份策略 九、Hadoop的机架感知配置 十、HDFS的权限详解 十一、Hadoop的客服端接入案例 十二、HDFS的客服端Cache使用 十三、HDFS读写性能的优化 十四,HDFS Snapshots的应用和原理介绍 |
Day1 第三篇 分布式计算MapReduce 一、Mapreduce原理 二、MapReduce流程 三、剖析一个MapReduce程序 四、Mapper和Reducer抽象类详解 五、Mapreduce的最小驱动类 六、MapReduce自带的类型 七、自定义Writables和WritableComparables 八、Mapreduce的输入InputFormats 九、MapReduce的输出OutputFormats 十、Combiner详解 十一、Partitioner详解 十二、MapReduce的优化 十三、Map和Reduce的个数设置 十四、任务调度 十五、默认的任务调度 十六、公平任务调度 十七,能力任务调度 |
Day2 第四篇 Yarn分布式资源调度 一、 Yarn的原理和架构 二、Yarn资源调度策略 三、CPU、内存和IO三种资源调度优化 四、Yarn资源调度Fair和Capacity详解 五、JobHistory的功能介绍 六、Yarn动态资源的设置 七、动态分配特定节点给每个应用(MR、Flink、Spark、Hbase等) 八、基于Yarn的资源控制详解 九、基于Yarn实现底层SLA的资源分配 十,Yarn核心参数的详解和优化 |
Day2 第五篇 Hive实战 一、Hive的作用和原理说明 二、Hadoop仓库和传统数据仓库的协作关系 三、Hadoop/Hive仓库数据数据流 四、Hive的MetaStore详解 五、Hive的基本用法 六、Hive的server启动 七、HQL基本语法 八、Hive的加载数据本地加载和HDFS加载 九、Hive的partition详解 十、Hive的存储方式详解 十一、RCFILE、TEXTFILE和SEQUEUEFILE 十二、Hive的UDF和UDAF 十三、Hive的transform详解 十四,Hive的JDBC连接 |
Day2 第六篇 Hive数据仓库实战 一、数据接入大数据平台 —离线数据接入 —Sqoop工具介绍和使用 —RDBMS导入导出到Hive数据仓库 二、数据处理过程 —数据的ETL —数据分层(ODS、DW和DM等) —数据建模 —数据校验 三、数据应用 —数据离线应用 —数据实时应用 —数据实验室 四、数据展示工具(BI工具) 五、从原始搜索数据集中抽取、集成数据,整理后形成规范的数据仓库 六、基于Hadoop数据仓库的数据分层(ODS、DW、DWS/B、DM、ST) 七,数据仓库不同层之间的数据交互和ETL |
Day3 第七篇 NoSQL和Hbase实战 一、NoSQL介绍 二、NoSQL应用场景 三、Hbase的架构原理 四、Hbase核心概念详解(HMaster、HRegionServer、Store、StoreFile、HFile、HLog和MetaStore) 五、Hbase自带的namesapce和Meta表详解 六、HBase逻辑视图介绍 七、HBase物理视图介绍 八、HBase的RowKey设计原则 九、HBase BloomFilter的介绍 十、Hbase表的设计案例 十一、一对一设计 十二、一对多设计 十三、多对多设计 十四、时间序列的数据表的设计 十五、HBase的import功能介绍 十六、手动设置Split和Compaction操作 十七、Pre-Split的介绍 十八、RS宕机的运维处理 十九、HBase Region的迁移优化 二十、HBase 的表结构优化 二十一、HBase使用场景介绍 二十二、Hbase 的Phoenix工具介绍 二十三,HBase案例分析 |
Day3 第八篇 Sqoop和Flume实战 一、Flume架构和应用场景 二、Flume用用场景 三、Flume Agent介绍 —Source —Channel —Sink 四、Flume 采集数据到HDFS实战 五、Flume案例实战 六、Sqoop架构介绍 七、Sqoop抽取Oracle和Mysql的数据 八,Sqoop实战 |
Day3 第九篇 Kafka实战 一、kafka概述 二、kafka是什么 三、kafka概念详解:Topics/logs、Distributitions、Producers、Consumers、Guarantees。 四、 kafka的应用场景 五、kafka的体系架构与设计原理 六、 消息持久化 七、生产者与消费者 八、 消息传输机制 九、 复制备份 十、分配机制 十一,Kafka监控工具安装和使用 |
Day4 第十一篇 Spark core介绍 一、Spark的编程模型 二、Spark编程模型解析 三、Partition实现机制 四、RDD的特点、操作、依赖关系 五、Transformation RDD详解 六、Action RDD详解 七、Spark的累加器详解 八、Spark的广播变量详解 九、Spark容错机制 十、lineage和checkpoint详解 十一、Spark的运行方式 十二、Spark的Shuffle原理详解 —Sort-Based原理 —Hash-Based原理 十三、Spark2.0的新特性 十四,Spark DataFrame和DateSet介绍 |
Day4 第十二篇 Spark SQL实战 一、Spark SQL原理 二、Spark SQL的Catalyst优化器 —Parser解析模块 —Analyzer模块 —Optimizer模块 —physical Planning模块 三、Spark SQL内核 四、Spark SQL和Hive连接 五、DataFrame和DataSet架构 六、Fataframe、DataSet和Spark SQL的比较 七、SparkSQL parquet格式实战 八、Spark SQL UDF和UDAF实操 九、Spark SQL的实例和编程 十、Spark SQL的实例操作demo 十一,Spark SQL的编程 |
Day4 第十三篇 Spark Streaming详解和实战 一、Spark Streaming原理 二、Spark Streaming的应用场景 三、Windows 窗口操作 四、DStream详解 五、Spark SQL on Spark Streaming详解 六、Structured Streaming介绍 七、Structured Streaming的水印操作 八、Structured Streaming+kafka应用实战 九、流式任务的痛点和注意点 十、流式任务数据延迟问题 十一、流式任务作业性能问题 十二,流式任务任务常见的处理方式 |
Day5 第十四篇 Flink SQL实战 一、Flink SQL和Table开发实战 二、6.1 Flink SQL功能介绍 三、6.2 Flink SQL 四、6.3 Kafka+FlinkSQL整合 五、6.4 Flink Table介绍 六、6.5 Flink Table DSL语法介绍 七、Flink CDC介绍 八、7.1 传统CDC工具介绍 九、7.2 CDC工具介绍和比较 十、7.3 Flink CDC支持的功能 十一、7.4 基于日志CDC的数据同步流程 十二、7.5 ETL—传统CDC ETL分析 十三、7.6 ETL—基于Flink CDC 聚合分析 十四、7.7 Flink CDC 数据宽表 十五、7.8 Flink SQL如何集成CDC |
Day5 第十五篇 项目实战RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana项目实战 RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana项目实战: 1、Docker演示环境介绍 2、Flink CDC mysql实战 3、Flink CDC postgres实战 4、Flink CDC Kafka实战 5、Flink CDC ES实现 6、Kibana结果展示 7、RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana完整项目实战 |