大数据概论
应知应会:
1.认识大数据基本概念
2.认识大数据生态圈
3.认识大数据行业落地案例
业务实战:
搭建Hadoop分布式集群
HTML5(H5)基本文档结构
大数据背景
认识Hadoop
Hadoop架构和组件
Hadoop生态系统
Hadoop经典落地案例
Hadoop安装部署及集群搭建
访问HDFS
应知应会:
1.掌握HDFS的特性
2.理解HDFS的设计目标
3.掌握HDFS的体系结构
4.理解数据块基本概念
5.掌握数据块复制原理
6.掌握HDFS安全模式
7.理解HDFS心跳机制
8.掌握HDFS核心架构
业务实战:
阐述HDFS分布式文件系统的原理
HDFS特性
HDFS目标
HDFS核心设计
数据块
数据复制
副本存放策略
安全模式
心跳机制
HDFS体系结构
Master/Slave
NN、SNN、DN
HDFS接口
应知应会:
1.掌握HDFS常用的命令行操作接口
2.学会查看HDFS文件列表
3.掌握文件的上传、下载、删除
4.掌握HDFS的Java访问接口
业务实战:
利用命令行和Java接口访问HDFS分布式文件系统
数据库安装和使用
命令行接口
查看文件列表
创建目录
上传文件
下载文件
查看文件
删除数据
Java接口
从Hadoop URL读取数据
通过FileSystem API读取数据
写入数据
创建目录
查询文件系统
删除数据
HDFS分布式文件系统的运行机制
应知应会:
1.掌握HDFS中的数据流读写
2.掌握RPC的实现流程及模型
3.掌握文件的读取、写入及文件的一致性模型
4.掌握HA高可靠机制
5.熟悉HDFS的Federation机制
业务实战:
搭建HA应用开发平台
HDFS中数据流的读写
RPC实现流程
RPC实现模型
文件的读取
文件的写入
文件的一致模型
HDFS的HA机制
为什么有HA机制
HA集群架构
HDFS的Federation机制
为什么引入Federation机制
Federation架构
多命名空间管理
Hadoop I/O详解
应知应会:
理解HDFS的数据完整性
掌握HDFS的数据压缩算法
掌握HDFS序列化接口
掌握Hadoop数据结构
理解SequenceFile存储
业务实战:
利用HDFS序列化Writable接口实现SequenceFile的写入
数据库安装和使用
HDFS的数据完整性
验证数据完整性
文件压缩
Hadoop支持的压缩格式
压缩解压缩算法codec
压缩和输入分片
文件序列化
Writable接口
WritableComparable接口
自定义Writable接口
Writable实现类
实现定制的Writable类型
序列化框架
Hadoop文件的数据结构
SequenceFile存储
MapFile存储
MapReduce编程模型
应知应会:
1.掌握MapReduce编程模型
2.编写WordCount事例
3.掌握HadoopMapReduce架构
MapReduce编程模型简介
WordCount编程实例
Hadoop MapReduce架构
MapReduce应用编程开发
应知应会:
1.配置MapReduce应用编程开发环境
2.掌握MapReduce程序设计思路
3.掌握Mapper和Reducer的编写
4.掌握集群上运行作业
5.熟练作业的的状态查看与检测
6.掌握MapReduce作业的调试
7.掌握常见的MapReduce的输入输出的格式
业务实战:
开发MapReduce分布式并行程序
MapReduce的编程
配置开发环境
设计思路
编写Mapper类
编写Reducer类
编写main方法
在集群上的运作
打包作业
启动作业
通过Web UI查看Job状态
获取结果
作业调试
MapReduce类型与格式
MapReduce中的键值对
输入格式
输出格式
MapReduce的工作机制与YARN平台
应知应会:
1.掌握MapReduce作业的运行过程
2.掌握Shuffle的运行过程和原理
3.掌握Map段shuffle与Reduce段shuffle的原理
4.理解YARN平台的工作原理及架构
5.掌握ResouceManager的资源分配
6.掌握NodeManager的工作原理
7.掌握ApplicationMaster的工作原理
8.理解Container容器的工作原理
9.掌握作业的调度
业务实战:
刨析MapReduce作业的Shuffle过程
通过案例剖析MapReduce作业运行过程
shuffle和排序
map端
reduce端
shuffle过程
YARN平台简介
YARN的诞生
YARN的作用
YARN的架构
ResourceManager
ApplicationMaster
资源模型
ResourceRequest和Container
Container规范
作业的调度
公平调度器
计算能力调度器
项目实战:
日志数据分析系统
应知应会:
1.掌握项目的业务需求
2.掌握项目的系统架构
3.掌握项目的需求分析
4.掌握项目的概要设计
5.掌握项目的详细设计
6.掌握项目的系统开发
7.掌握项目的单元测试
8.掌握项目的系统测试
9.掌握项目的上线部署
10.掌握项目的运营测试
11.掌握项目集群环境的搭建测试
业务实战:
MapReduce开发工程师
项目名称:日志数据分析系统
数据体量:5000W+/日
硬件环境:Hadoop集群 12台
软件环境:Hadoop2.5.2+Hive1.2.1+MR+Oracle10g
开发工具:Eclipse+Jdk1.7+ETL
项目职责:主要负责数据清洗,分析客户需求数据的抓取和处理。
项目描述:
①搜狗每天产生大量的日志数据,从日志数据里面能提取到有用的数据包括每个用户的ID、浏览次数、月/日浏览频率、访问源、浏览内容等等,
提取这些内容、统计数据分析每个用户行为,从而做出有利的决定。
②本次项目使用MapReduce框架对数据进行处理,HDFS作为底层存储,使用Hive大大加快了项目的进度,Hive自带的数据库并不适用于项目,
用MySql代替,这里用到了Hive但是底层处理计算还是MapReduce,其最突出的地方就是其对MapReduce进行了包装,减少了使用MapReduce需要写大量重复JAVA代码的时间。
③实例分析,客户需要知道浏览过“仙剑奇侠传”的用户还浏览过其他什么内容,我们就利用MapReduce对数据进行处理
得出所有浏览过“仙剑奇侠传”的用户ID,在由ID取出他们除了“仙剑奇侠传”之外的浏览内容,值得一提的是这次任务中很好的利用MapReduce的shuffle阶段的处理将大大减少任务的难度。
④查找到浏览次数大于某值(例如如是10)的用户,同样的通过MapReduce的处理也能解决,我们可以自己去实现Map、Reduce的处理过程,
但本次项目我们用到了Hive,相对直接使用MapReduce要容易些,当然这只是两个例子,通过对数据的处理我们能得到很多有用的信息。