来源:在职研究生联盟网 时间:2023-12-15 15:52:08
课时安排:5天培训方式:企业内训课程类别:项目管理
Hadoop大数据解决方案开发技术培训课程特色与背景
【课程目标】
Hadoop作为开源的云计算平台,为大数据处理提供了一整套解决方案,应用非常广泛。Hadoop作为一个平台框架,包括了如何存储海量数据,如何处理海量数据,以及相应的数据库、数据仓库、数据流处理、数据分析和挖掘算法库,等等。本课程主要介绍Hadoop的思想、原理,以及重要技术等相关知识。
通过本课程的学习,达到如下目的:
1、 全面了解大数据处理技术的相关知识。
2、 学习Hadoop的核心技术以及应用。
3、 深入掌握Hadoop的相关工具在大数据中的使用。
4、 掌握Hadoop的常用模块的工作原理及开发应用技术。
5、 掌握传统数据中心向大数据中心转换的关键技术。
6、 掌握海量数据处理的性能优化及维护技巧。
课程大纲
【课程大纲】
第一部分:Hadoop的基本框架
1、 大数据时代面临的问题
2、 当前解决大数据的技术方案
3、 Hadoop架构和云计算
4、 Hadoop简史及安装部署
5、 Hadoop设计理念和生态系统
第二部分:HDFS分布式文件系统:海量数据存储的摇篮
1、 HDFS的设计目标
2、 HDFS的基本架构
? NameNode名称节点
? SecondaryNameNode第二名称节点
? DataNode数据节点
3、 HDFS的存储模型
? 数据块存储
? 元数据存储(空间镜像与编辑日志)
? 多副本存储
4、 多副本放置策略
5、 多数据节点管理机制与交互过程
6、 文件系统操作与管理
? 读文件过程
? 写文件过程(数据流管道)
7、 数据完整性机制
? 数据校验和
? 数据完整性扫描线程
? 元数据备份与合并
8、 数据可靠性设计
? 安全模式(数据块与节点映射关系管理)
? 心跳检测机制(节点失效管理)
? 租约机制(多线程并发控制)
9、 其它
? HDFS的安全机制
? 负载均衡
? 文件压缩
10、 操作接口与编程接口
? HDFS Shell
? HDFS Commands
? WebHDFS REST API
? HDFS Java API
演练:HDFS文件操作命令
演练:HDFS编程示例
第三部分:MapReduce分布式计算系统:海量数据处理的利器
1、 MapReduce的三层设计理念
? 分布治之的设计思想(Map与Reduce)
? 数据处理引擎(编程模型)
? 运行时环境(任务调度与执行)
2、 MapReduce的基本架构
? JobTracker作业跟踪器
? TaskTracker任务跟踪器
? MapReduce与HDFS的部署关系
3、 MapReduce编程模型概述
? 编程接口介绍
? Hadoop工作流实现原理
4、 MapReduce作业调度机制
? MapReduce作业生命周期
? 作业调度策略
? 静态资源管理方案
5、 数据并行处理机制(五步骤)
? Input阶段实现
? Map阶段实现
? Shuffle阶段实现
? Reduce阶段实现
? Output阶段
6、 MapReduce容错机制
? 任务失败与重新尝试
? 节点失效与重调度
? 单点故障
7、 MapReduce性能优化
? 优化方向与思路
? 磁盘IO性能优化
? 分片优化
? 线程数量优化
? 内存优化
? 压缩优化
8、 MapReduce操作接口
? Job Shell
? Web UI
案例演练:MapReduce编程示例
9、 YARN:下一代通用资源管理系统
? MRv1的局限性
? YARN基本框架
? NN HA:解决单点故障
? HDFS Federation:解决扩展性问题
第四部分:HBase非关系型数据库:海量数据的黎明
1、 HBase的使用场景
2、 HBase的基本架构
? Zookeeper分布式协调服务器
? Master主控服务器
? Region Server区域服务器
3、 HBase的数据模型
? HBase的表结构
? 行键、列键、时间戳
4、 HBase的存储模型
? 基本单位Region
? 存储格式HFile
5、 数据分裂机制Split
6、 数据合并机制Compaction
? minor compaction
? major compaction
7、 HLog写前日志
8、 数据库读写操作
? 数据库写入
? 数据库读取
? 三次寻址
9、 HBase操作接口
? Native Java API
? HBase Shell
? 批量加载工具
? HiveQL操作
10、 HBase性能优化
? 写速度优化
? 读速度优化
11、 HBase集群监控与管理
案例演练:HBase命令操作实例
第五部分:Hive分布式数据仓库:高级的编程语言
1、 Hive是什么
2、 Hive与关系数据库的区别
3、 Hive系统架构
? 用户接口层
? 元数据存储层
? 驱动层
4、 Hive常用服务
5、 Hive元数据的三种部署模式
6、 Hive的命名空间
7、 Hive数据类型与存储格式
? 数据类型
? TextFile/SequenceFile/RCFile
8、 Hive的数据模型
? 管理表
? 外部表
? 分区表
? 桶表
9、 HQL语言命令实例
? DDL数据定义语言
? DML数据操作语言
? QUERY数据查询语言
10、 Hive自定义函数
? 基本函数(UDF)
? 聚合函数(UDAF)
? 表生成函数(UDTF)
11、 Hive性能优化
? 动态分区
? 压缩
? 索引
? JVM重用
案例演练:Hive命令操作实例
第六部分:Sqoop数据交互工具:Hadoop与传统数据库的桥梁
1、 Sqoop是什么
2、 Sqoop的架构和功能
? Sqoop1架构
? Sqoop2架构
3、 数据双向交换
? 数据导入过程
? 数据导出过程
4、 数据导入工具与命令介绍
案例演练:Sqoop数据导入/导出实际操作
第七部分:Pig数据流处理引擎:数据脚本语言
1、 Pig介绍
2、 命令行交互工具Grunt
3、 Pig数据类型
4、 Pig Latin脚本语言介绍
? 基础知识
? 输入和输出
? 关系操作
? 调用静态Java函数
5、 Pig Latin高级应用
6、 开发与测试Pig Latin脚本
? 开发工具
? 任务状态监控
? 调试技巧
7、 脚本性能优化
8、 用户自定义函数UDF
案例演练:Pig Latin脚本编写、测试与运行操作
结束:课程总结与问题答疑。
下一篇:(内训)大数据产业现状及应用创新