Hadoop的前景
随着云计算、大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈。谷歌、淘宝、百度、京东等底层都应用hadoop。越来越多的企 业急需引入hadoop技术人才。由于掌握Hadoop技术的开发人员并不多,直接导致了这几年hadoop技术的薪水远高于JavaEE及 Android程序员。
Hadoop入门薪资已经达到了8K以上,工作1年可达到1.2W以上,具有2-3年工作经验的hadoop人才年薪可以达到30万—50万。
一般需要大数据处理的公司基本上都是大公司,所以学习hadoop技术也是进大公司的捷径!
2课程内容简介
本课程基于《基于Greenplum Hadoop分布式平台的大数据解决方案》Hadoop部分的基础课程来进行扩展延伸,主要内容分为以下四部分:
一、对Hadoop最新的2.0系列版本和YARN进行介绍,掌握最前沿的Hadoop技术框架。
二、针对MapReduce和HBase的高阶应用做深入的讲解和实战演练。
三、讲解之前基础篇中未涉及的Hadoop子项目,包括Cassandra、Sqoop、Avatar、Mahout、Avro、Flume等
四、Hadoop与R结合应用、Hadoop源代码导读基础及最后的综合实战
适合对象:
1、要求具有一定的Linux和Java基础
2、要求具有一定SQL语言基础
3、学习完《基于Greenplum Hadoop分布式平台的大数据解决方案》Hadoop部分的基础课程
3课程大纲
Hadoop高阶应用课程(81课时)
Hadoop 2.0(6课时)
Hadoop 2.0产生背景
Hadoop 2.0基本构成
HDFS 2.0
MapReduce 2.0
Hadoop 2.0安装配置
集群测试
YARN资源管理系统(4课时)
YARN产生背景
YARN基本设计思想
YARN基本架构
YARN工作流程
YARN通信协议
YARN容错
YARN资源调度机制
YARN支持的计算框架(Storm,Tez,Spark)(11课时)
以YARN为核心的生态系统
Storm基本概念
Storm流式计算框架
基于YARN的Storm架构
YARN-Storm部署
Storm On YARN服务
Apache Tez介绍
Tez特点
Tez数据处理引擎
DAGAppMaster实现
Tez优化机制
Tez应用场景
Tez部署
什么是Spark
Spark生态系统
Spark的核心--RDD和Lineage
RDD的存储、容错机制、内部设计及数据模型
Spark调度框架
Spark的分布式部署方式
基于Mesos的Spark模式
基于YARN的Spark模式
Spark的独立模式部署
Spark的YARN模式部署
MapReduce多语言编程(5课时)
MapReduce编程接口
Java编程接口实例解析
Hadoop Streaming实现方式
Hadoop Streaming编程实战(C++,PHP,PYTHON)
Hadoop Streaming原理剖析
Hadoop Pipes的编程实例
Hadoop Pipes的原理剖析
MapReduce高阶实现(14课时)
复杂的MapReduce应用
K-means聚类、贝叶斯分类等
工作流编程实例及原理剖析
JobControl、ChainMapper/ChainReducer
Hadoop工作流引擎
常用MapReduce优化技巧
配置多个reducer
设置Stream的处理格式
控制分片的大小
避免分片
输入格式:文本输入、多种类型输入
输出控制:多个输出、延迟输出
实战:数据分区
MapReduce高级特性
计数器、内置计数器
实例:用户自定义计数器
MapReduce部分排序的实现
实例:MapReduce全排序
Terasort算法分析
实例:MapReduce实现二次排序
连接、Map端连接的实现
实例:Reduce端连接
连接类型、连接策略介绍
重分区连接框架的实现
复制连接框架的实现
实例:半连接
全局作业参数/数据文件传递
HBase编程实践及案例分析(10课时)
HBase基础精讲
HBase Java编程实例
HBase多语言编程
Thrift安装、服务配置
HBase C++编程实例
HBase Python编程实例
HBase MapReduce编程基础
实战:HBase MapReduce编程
Hbase案例:OpenTSDB的实现
基于HBase的爬虫调度库
基于HBase的爬虫索引库
银行人民币查询系统
Sqoop(6课时)
Sqoop产生背景、基本
Sqoop1和Sqoop2架构及特点
Sqoop1安装配置(版本1.4.4)
Sqoop导入介绍
实战:从mysql导入数据到HDFS
实战:从mysql导入数据到Hive
Sqoop导出介绍
实战:将Hive数据导出到Mysql
Sqoop与Hbase结合
Sqoop作业操作
Sqoop作业安全配置
Sqoop2安装配置(版本1.99.3)
Sqoop2使用综合实战
Flume日志收集系统(7课时)
Flume概念和特点
Flume OG架构、组成、特点、容错机制设计
日志收集系统综合比较
Flume NG架构、核心概念
Flume OG的安装
Flume OG的配置(Web端、Flume shell)
Flume NG的安装配置、测试
Flume NG模块配置(Source、Channel、Sink)
Flume NG配置实战分析
Avro数据序列化系统(1课时)
Avro介绍
Avro特性、主要作用
RPC使用Avro
Avro与其他序列化系统的区别
Mahout数据挖掘工具(10课时)
数据挖掘概念、系统组成
数据挖掘常用方法及算法(回归分析、分类、聚类等)
数据挖掘分析工具
Mahout支持的算法
Mahout起源和特点
Mahout安装、配置及测试
实战:Mahout K-means聚类分析
Mahout实现Canopy算法
Mahout实现分类算法
实战:Mahout逻辑回归分类预测
实战:Mahout朴素贝叶斯分类
推荐系统的概念及分类
协同过滤推荐算法概念、分类及应用
实战:实现基于Mahout的电影推荐系统
Hadoop综合实战-文本挖掘项目(7课时)
文本挖掘的概念及应用场景
项目背景
项目流程
中文分词技术
庖丁分词器的使用
MapReduce并行分词程序的设计与实现
Pig划分数据集
Mahout构建朴素贝叶斯文本分类器
模型应用-计算用户偏好类别