傅一航 华为系大数据专家,计算机软件与理论硕士研究生(研究方向:数据挖掘、搜索引擎)
在华为工作十年,五项国家专利,在华为工作期间获得华为数项奖项,曾在英国、日本、荷兰和比利时等海外市场做项目,对大数据有深入的研究,傅老师专注于大数据分析与挖掘等应用技术,以及大数据系统部署解决方案,旨在将大数据的数据分析、数据挖掘、数据建模应用于行业及商业领域,解决行业实际的问题,傅老师目前致力于将大数据技术应用于通信、金融、航空、电商、互联网、政府等领域,傅老师的课程最大特色:实战性强!“围绕业务问题+搭建分析框架+运用分析方法+建立分析模型+熟悉分析工具+形成业务策略”,以商业问题为起点,基于实际的业务应用场景(明确目的),搭建全面系统的业务框架和分析维度(分析思路),选择最合适的方法(分析方法),深入浅出的理论讲解(分析模型),使用简单实用的工具操作(分析工具),对分析结果进行有效的解读(数据可视化),最终形成具体的业务建议,实现业务分析/数据分析的闭环。
课程目标
Hadoop作为开源的云计算平台,为大数据处理提供了一整套解决方案,应用非常广泛。Hadoop作为一个平台框架,包括了如何存储海量数据,如何处理海量数据,以及相应的数据库、数据仓库、数据流处理、数据分析和挖掘算法库,等等。本课程主要介绍Hadoop的思想、原理,以及重要技术等相关知识。通过本课程的学习,达到如下目的:
- 全面了解大数据处理技术的相关知识。
- 学习Hadoop的核心技术以及应用。
- 深入掌握Hadoop的相关工具在大数据中的使用。
- 掌握Hadoop的常用模块的工作原理及开发应用技术。
- 掌握传统数据中心向大数据中心转换的关键技术。
- 掌握海量数据处理的性能优化及维护技巧。
授课对象
网络部、大数据系统开发部、大数据中心、网络运维部等相关技术人员。
授课方式
原理精讲+案例演练+开发实践+系统优化
课程大纲
第一部分: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基本框架 NNHA:解决单点故障 HDFS Federation:解决扩展性问题 |
第四部分:HBase非关系型数据库--海量数据的黎明 |
1、HBase的使用场景 2、HBase的基本架构 Zookeeper分布式协调服务器 Master主控服务器 RegionServer区域服务器 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、PigLatin脚本语言介绍 基础知识 输入和输出 关系操作 调用静态Java函数 5、PigLatin高级应用 6、开发与测试PigLatin脚本 开发工具 任务状态监控 调试技巧 7、脚本性能优化 8、用户自定义函数UDF 案例演练:PigLatin脚本编写、测试与运行操作
|
结束:课程总结与问题答疑。 |