课程简介
本课程详细的介绍了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开发语言
课程特点
“知识点”
本课程详细的介绍了Hadoop平台的常用组件,HDFS使用操作、MapReduce开发、yarn原理和应用、Hbase数据库开发、Hive数据仓库开发、Sqoop数据抽取、Flume数据采集、Kafka数据发布和订阅等核心技术,帮助学员能够深刻的理解Hadoop生态技术和基于Hadoop生态技术进行开发。
“实操”
本课程理论和实操结合,让学员能够在掌握技术的前提下,快速进行技术的应用。
课程时长
5天(6小时/天)
课程对象
大数据开发人员
学员基础
1) 了解Java语言;
2) 了解Linux系统;
课程大纲
时间 | 内容 | 案例实践与练习 |
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的应用和原理介绍 | 案例练习: 1)HDFS常用命令实战 |
Day1 第三篇 分布式计算MapReduce | Mapreduce原理 MapReduce流程 剖析一个MapReduce程序 Mapper和Reducer抽象类详解 Mapreduce的最小驱动类 MapReduce自带的类型 自定义Writables和WritableComparables Mapreduce的输入InputFormats MapReduce的输出OutputFormats Combiner详解 Partitioner详解 MapReduce的优化 Map和Reduce的个数设置 任务调度 默认的任务调度 公平任务调度 能力任务调度 | 案例练习: Mapreduce开发环境搭建 Mapreduce词频统计 MapReduce自定义开发实战 Mapreduce自定义Partitioner |
Day2 第四篇 Yarn分布式资源调度 | Yarn的原理和架构 Yarn资源调度策略 CPU、内存和IO三种资源调度优化 Yarn资源调度Fair和Capacity详解 JobHistory的功能介绍 Yarn动态资源的设置 动态分配特定节点给每个应用(MR、Flink、Spark、Hbase等) 基于Yarn的资源控制详解 基于Yarn实现底层SLA的资源分配 Yarn核心参数的详解和优化 | 案例练习: 1)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连接 | 案例练习: Hive创建表 Hive加载数据 Hive的分区表 Hive的UDF实验
|
Day2 第六篇 Hive数据仓库实战 | 一、数据接入大数据平台 —离线数据接入 —Sqoop工具介绍和使用 —RDBMS导入导出到Hive数据仓库 数据处理过程 —数据的ETL —数据分层(ODS、DW和DM等) —数据建模 —数据校验 数据应用 —数据离线应用 —数据实时应用 —数据实验室 数据展示工具(BI工具) 从原始搜索数据集中抽取、集成数据,整理后形成规范的数据仓库 基于Hadoop数据仓库的数据分层(ODS、DW、DWS/B、DM、ST) 数据仓库不同层之间的数据交互和ETL | 案例练习: Hive数据仓库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案例分析 | 案例练习: 1)MapReduce操作Hbase实战 Hbase的API实战 3)Hbase表结构设计实战 |
Day3
第八篇 Sqoop和Flume实战 | Flume架构和应用场景 Flume用用场景 Flume Agent介绍 —Source —Channel —Sink Flume 采集数据到HDFS实战 Flume案例实战 Sqoop架构介绍 Sqoop抽取Oracle和Mysql的数据 Sqoop实战 | 案例练习: 1)Sqoop抽取Mysql数据到HDFS、Hive和hbase Flume采集数据到HDFS
|
Day3
第九篇 Kafka实战 | kafka概述 kafka是什么 kafka概念详解:Topics/logs、Distributitions、Producers、Consumers、Guarantees。 kafka的应用场景 kafka的体系架构与设计原理 消息持久化 生产者与消费者 消息传输机制 复制备份 分配机制 Kafka监控工具安装和使用 | 案例练习: Kafka的Producer和Consumer实战 Kafka+Flume实战
|
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介绍 | 案例练习: Spark Code案例实战 |
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的编程 | 案例练习: Spark SQL实操 Spark SQL数据分析案例实操 |
Day4
第十三篇
Spark Streaming详解和实战 | Spark Streaming原理 Spark Streaming的应用场景 Windows 窗口操作 DStream详解 Spark SQL on Spark Streaming详解 Structured Streaming介绍 Structured Streaming的水印操作 Structured Streaming+kafka应用实战 流式任务的痛点和注意点 流式任务数据延迟问题 流式任务作业性能问题 流式任务任务常见的处理方式 | 案例练习: 1、Spark Streaming实战 |
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 | 案例练习: Flink SQL案例实战 Flink CDC案例实战 |
Day5
第十五篇 项目实战RDBMS +Kafka+Flink CDC+FlinkSQL+ES+Kibana项目实战
| RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana项目实战: Docker演示环境介绍 Flink CDC mysql实战 Flink CDC postgres实战 Flink CDC Kafka实战 Flink CDC ES实现 Kibana结果展示 RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana完整项目实战 | 项目实战:
某大行银行RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana真实项目实战 |