简介
Hadoop作为开源的云计算平台,为大数据处理提供了一整套解决方案,应用非常广泛。Hadoop作为一个平台框架,包括了如何存储海量数据,如何处理海量数据,以及相应的数据库、数据仓库、数据流处理、数据分析和挖掘算法库,等等。本课程主要介绍Hadoop的思想、原理,以及重要技术等相关知识。
目标
1、全面了解大数据处理技术的相关知识。
2、学习Hadoop的核心技术以及应用。
3、深入掌握Hadoop的相关工具在大数据中的使用。
4、掌握Hadoop的常用模块的工作原理及开发应用技术。
5、掌握传统数据中心向大数据中心转换的关键技术。
6、掌握海量数据处理的性能优化及维护技巧。
课程时长
2天(12H)
受众人群
网络部、大数据系统开发部、大数据中心、网络运维部等相关技术人员。
授课方式
原理精讲+案例演练+开发实践+系统优化
分享提纲
第一部分: 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数据交互工具--与传统数据库的桥梁 | 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脚本编写、测试与运行操作 |
结束:课程总结与问题答疑。 |
Ian Fu
百林哲咨询(北京)有限公司专家团队成员
Ian Fu
百林哲咨询(北京)有限公司专家团队成员
Ian Fu
百林哲咨询(北京)有限公司专家团队成员
Ian Fu
百林哲咨询(北京)有限公司专家团队成员
Ian Fu
百林哲咨询(北京)有限公司专家团队成员
Ian Fu
百林哲咨询(北京)有限公司专家团队成员
Ian Fu
百林哲咨询(北京)有限公司专家团队成员