C01 Hadoop大数据解决方案开发技术基础培训

C01 Hadoop大数据解决方案开发技术基础培训
    马上咨询

    傅一航  华为系大数据专家,计算机软件与理论硕士研究生(研究方向:数据挖掘、搜索引擎)  

    在华为工作十年,五项国家专利,在华为工作期间获得华为数项奖项,曾在英国、日本、荷兰和比利时等海外市场做项目,对大数据有深入的研究,傅老师专注于大数据分析与挖掘等应用技术,以及大数据系统部署解决方案,旨在将大数据的数据分析、数据挖掘、数据建模应用于行业及商业领域,解决行业实际的问题,傅老师目前致力于将大数据技术应用于通信、金融、航空、电商、互联网、政府等领域,傅老师的课程最大特色:实战性强!“围绕业务问题+搭建分析框架+运用分析方法+建立分析模型+熟悉分析工具+形成业务策略”,以商业问题为起点,基于实际的业务应用场景(明确目的),搭建全面系统的业务框架和分析维度(分析思路),选择最合适的方法(分析方法),深入浅出的理论讲解(分析模型),使用简单实用的工具操作(分析工具),对分析结果进行有效的解读(数据可视化),最终形成具体的业务建议,实现业务分析/数据分析的闭环。

    课程目标

    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脚本编写、测试与运行操作
    结束:课程总结与问题答疑。