Hadoop学习路线

课程一、大数据运维之Linux基础
本部分是基础课程,帮大家进入大数据领域打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等众多课程。因为企业
中的项目基本上都是使用Linux环境下搭建或部署的。

1)Linux系统概述
2)系统安装及相关配置
3)Linux网络基础
4)OpenSSH实现网络安全连接
5)vi文本编辑器

6)用户和用户组管理
7)磁盘管理
8)Linux文件和目录管理
9)Linux终端常用命令
10)linux系统监测与维护

课程二、大数据开发核心技术 – Hadoop 2.x从入门到精通
本课程是整套大数据课程的基石:其一,分布式文件系统HDFS用于存储海量数据,无论是Hive、HBase或者Spark数据存储在其上面;其二是分布式资源管理框架
YARN,是Hadoop 云操作系统(也称数据系统),管理集群资源和分布式数据处理框架MapReduce、Spark应用的资源调度与监控;分布式并行计算框架
MapReduce目前是海量数据并行处理的一个最常用的框架。Hadoop 2.x的编译、环境搭建、HDFS Shell使用,YARN 集群资源管理与任务监控,MapReduce编
程,分布式集群的部署管理(包括高可用性HA)必须要掌握的。

一、初识Hadoop 2.x
1)大数据应用发展、前景
2)Hadoop 2.x概述及生态系统
3)Hadoop 2.x环境搭建与测试

二、深入Hadoop 2.x
1)HDFS文件系统的架构、功能、设计
2)HDFS Java API使用
3)YARN 架构、集群管理、应用监控
4)MapReduce编程模型、Shuffle过程、编程调优

三、高级Hadoop 2.x
1)分布式部署Hadoop 2.x
2)分布式协作服务框架Zookeeper
3)HDFS HA架构、配置、测试
4)HDFS 2.x中高级特性
5)YARN HA架构、配置
6)Hadoop 主要发行版本(CDH、HDP、Apache)

四、实战应用
1)以【北风网用户浏览日志】数据进行实际的分析 2)原数据采集 3)数据的预处理(ETL) 4)数据的分析处理(MapReduce)

课程三、大数据开发核心技术 – 大数据仓库Hive精讲
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行
运行。其优点是学习成本低,可以通类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

一、Hive 初识入门
1)Hive功能、体系结构、使用场景
2)Hive环境搭建、初级使用
3)Hive原数据配置、常见交互方式

二、Hive深入使用
1)Hive中的内部表、外部表、分区表
2)Hive 数据迁移
3)Hive常见查询(select、where、distinct、join、group by)
4)Hive 内置函数和UDF编程

三、Hive高级进阶
1)Hive数据的存储和压缩
2)Hive常见优化(数据倾斜、压缩等)

四、结合【北风网用户浏览日志】实际案例分析
1)依据业务设计表
2)数据清洗、导入(ETL)
3)使用HiveQL,统计常见的网站指标

课程四、大数据协作框架 – Sqoop/Flume/Oozie精讲
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL
,Oracle ,Postgres等)中的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部
署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

一、数据转换工具Sqoop
1)Sqoop功能、使用原则
2)将RDBMS数据导入Hive表中(全量、增量)
3)将HDFS上文件导出到RDBMS表中

二、文件收集框架Flume
1)Flume 设计架构、原理(三大组件)
2)Flume初步使用,实时采集数据
3)如何使用Flume监控文件夹数据,实时采集录入HDFS中 4)任务调度框架Oozie

三、Oozie功能、安装部署
1)使用Oozie调度MapReduce Job和HiveQL
2)定时调度任务使用

课程五、大数据Web开发框架 – 大数据WEB 工具Hue精讲
Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通
过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。

1)Hue架构、功能、编译
2)Hue集成HDFS
3)Hue集成MapReduce

4)Hue集成Hive、DataBase
5)Hue集成Oozie

课程六、大数据核心开发技术 – 分布式数据库HBase从入门到精通
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。HBase在
Hadoop之上提供了类似于Bigtable的能力,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大
规模结构化存储集群

一、HBase初窥使用
1)HBase是什么、发展、与RDBMS相比优势、企业使用
2)HBase Schema、表的设计
3)HBase 环境搭建、shell初步使用(CRUD等)

二、HBase 深入使用
1)HBase 数据存储模型
2)HBase Java API使用(CRUD、SCAN等)
3)HBase 架构深入剖析
4)HBase 与MapReduce集成、数据导入导出

三、HBase 高级使用
1)如何设计表、表的预分区(依据具体业务分析讲解)
2)HBase 表的常见属性设置(结合企业实际)
3)HBase Admin操作(Java API、常见命令)

四、【北风网用户浏览日志】进行分析
1)依据需求设计表、创建表、预分区
2)进行业务查询分析
3)对于密集型读和密集型写进行HBase参数调优

课程七、大数据核心开发技术 – Storm实时数据处理(选修)
Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。 随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、
推荐系统、预警系统、金融系统(高频交易、股票)等等, 大数据实时处理解决方案(流计算)的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是
流计算技术中的佼佼者和主流。 按照storm作者的说法,Storm对于实时计算的意义类似于Hadoop对于批处理的意义。Hadoop提供了map、reduce原语,使我
们的批处理程序变得简单和高效。 同样,Storm也为实时计算提供了一些简单高效的原语,而且Storm的Trident是基于Storm原语更高级的抽象框架,类似于基于
Hadoop的Pig框架, 让开发更加便利和高效。本课程会深入、全面的讲解Storm,并穿插企业场景实战讲述Storm的运用。 淘宝双11的大屏幕实时监控效果冲击
了整个IT界,业界为之惊叹的同时更是引起对该技术的探索。 学完本课程你可以自己开发升级版的“淘宝双11”,还等什么?

1)Storm简介和课程介绍
2)Storm原理和概念详解
3)Zookeeper集群搭建及基本使用
4)Storm集群搭建及测试
5)API简介和入门案例开发
6)Spout的Tail特性、storm-starter及maven使用、Grouping策略
7)实例讲解Grouping策略及并发
8)并发度详解、案例开发(高并发运用)
9)案例开发——计算网站PV,通过2种方式实现汇总型计算。
10)案例优化引入Zookeeper锁控制线程操作
11)计算网站UV(去重计算模式)
12)【运维】集群统一启动和停止shell脚本开发
13)Storm事务工作原理深入讲解 14)Storm事务API及案例分析

15)Storm事务案例实战之 ITransactionalSpout
16)Storm事务案例升级之按天计算
17)Storm分区事务案例实战
18)Storm不透明分区事务案例实战
19)DRPC精解和案例分析
20)Storm Trident 入门
21)Trident API和概念
22)Storm Trident实战之计算网站PV
23)ITridentSpout、FirstN(取Top N)实现、流合并和Join
24)Storm Trident之函数、流聚合及核心概念State
25)Storm Trident综合实战一(基于HBase的State)
26)Storm Trident综合实战二
27)Storm Trident综合实战三
28)Storm集群和作业监控告警开发

课程八、Spark技术实战之基础篇 -Scala语言从入门到精通
为什么要学习Scala?源于Spark的流行,Spark是当前最流行的开源大数据内存计算框架,采用Scala语言实现,各大公司都在使用Spark:IBM宣布承诺大力推进
Apache Spark项目,并称该项目为:在以数据为主导的,未来十年最为重要的新的开源项目。这一承诺的核心是将Spark嵌入IBM业内领先的分析和商务平台,
Scala具有数据处理的天然优势,Scala是未来大数据处理的主流语言

1)-Spark的前世今生
2)-课程介绍、特色与价值
3)-Scala编程详解:基础语法
4)-Scala编程详解:条件控制与循环
5)-Scala编程详解:函数入门
6)-Scala编程详解:函数入门之默认参数和带名参数
7)-Scala编程详解:函数入门之变长参数
8)-Scala编程详解:函数入门之过程、lazy值和异常
9)-Scala编程详解:数组操作之Array、ArrayBuffer以及遍历数组
10)-Scala编程详解:数组操作之数组转换

11)-Scala编程详解:Map与Tuple
12)-Scala编程详解:面向对象编程之类
13)-Scala编程详解:面向对象编程之对象
14)-Scala编程详解:面向对象编程之继承
15)-Scala编程详解:面向对象编程之Trait
16)-Scala编程详解:函数式编程
17)-Scala编程详解:函数式编程之集合操作
18)-Scala编程详解:模式匹配
19)-Scala编程详解:类型参数
20)-Scala编程详解:隐式转换与隐式参数
21)-Scala编程详解:Actor入门

课程九、大数据核心开发技术 – 内存计算框架Spark精讲
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点。启用了内存分布数据集,除
了能够提供交互式查询外,它还可以优化迭代工作负载。Spark Streaming: 构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片断
(几秒),以类似batch批量处理的方式来处理这小部分数据

1)Spark 初识入门
2)Spark 概述、生态系统、与MapReduce比较
3)Spark 编译、安装部署(Standalone Mode)及测试
4)Spark应用提交工具(spark-submit,spark-shell)
5)Scala基本知识讲解(变量,类,高阶函数)
6)Spark 核心RDD
7)RDD特性、常见操作、缓存策略
8)RDD Dependency、Stage常、源码分析
9)Spark 核心组件概述

10)案例分析
11)Spark 高阶应用
12)Spark on YARN运行原理、运行模式及测试
13)Spark HistoryServer历史应用监控
14)Spark Streaming流式计算
15)Spark Streaming 原理、DStream设计
16)Spark Streaming 常见input、out
17)Spark Streaming 与Kafka集成
18)使用Spark对【北风网用户浏览日志】进行分析

课程十、大数据核心开发技术 – Spark深入剖析
本课程主要讲解目前大数据领域热门、火爆、有前景的技术——Spark。在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含
完全从企业真实复杂业务需求中抽取出的案例实战。课程会涵盖Scala编程详解、Spark核心编程.

1)Scala编程、Hadoop与Spark集群搭建、Spark核心编程、Spark内核源码深度剖析、Spark性能调优
2)Spark源码剖析
课程十一、企业大数据平台高级应用
本阶段主要就之前所学内容完成大数据相关企业场景与解决方案的剖析应用及结合一个电子商务平台进行实战分析,主要包括有: 企业大数据平台概述、搭建企业
大数据平台、真实服务器手把手环境部署、使用CM 5.3.x管理CDH 5.3.x集群

1)企业大数据平台概述
2)大数据平台基本组件
3)Hadoop 发行版本、比较、选择
4)集群环境的准备(系统、基本配置、规划等)
5)搭建企业大数据平台
6)以实际企业项目需求为依据,搭建平台
7)需求分析(主要业务)
8)框架选择(Hive\HBase\Spark等)

9)真实服务器手把手环境部署
10)安装Cloudera Manager 5.3.x
11)使用CM 5.3.x安装CDH 5.3.x
12)如何使用CM 5.3.x管理CDH 5.3.x集群
13)基本配置,优化
14)基本性能测试
15)各个组件如何使用

课程十二、项目实战:驴妈妈旅游网大型离线数据电商分析平台
离线数据分析平台是一种利用hadoop集群开发工具的一种方式,主要作用是帮助公司对网站的应用有一个比较好的了解。尤其是在电商、旅游、银行、证券、游戏
等领域有非常广泛,因为这些领域对数据和用户的特性把握要求比较高,所以对于离线数据的分析就有比较高的要求了。 本课程讲师本人之前在游戏、旅游等公司
专门从事离线数据分析平台的搭建和开发等,通过此项目将所有大数据内容贯穿,并前后展示!

1)Flume、Hadoop、Hbase、Hive、Oozie、Sqoop、离线数据分析,SpringMVC,Highchat
2)Flume+Hadoop+Hbase+SpringMVC+MyBatis+MySQL+Highcharts实现的电商离线数据分析
3)日志收集系统、日志分析、数据展示设计

课程十三、项目实战:基于1号店的电商实时数据分析系统(选修)
课程基于1号店的业务及数据进行设计和讲解的,主要涉及
1、课程中完整开发3个Storm项目,均为企业实际项目,其中一个是完全由Storm Trident开发。 项目源码均可以直接运行,也可直接用于商用或企业。
2、每个技术均采用最新稳定版本,学完后会员可以从Kafka到Storm项目开发及HighCharts图表开发一个人搞定!让学员身价剧增!
3、搭建CDH5生态环境完整平台,且采用Cloudera Manager界面化管理CDH5平台。让Hadoop平台环境搭建和维护都变得轻而易举。
4、分享实际项目的架构设计、优劣分析和取舍、经验技巧,陡直提升学员的经验值

1)全面掌握Storm完整项目开发思路和架构设计
2)掌握Storm Trident项目开发模式
3)掌握Kafka运维和API开发、与Storm接口开发
4)掌握HighCharts各类图表开发和实时无刷新加载数据
5)熟练搭建CDH5生态环境完整平台

6)灵活运用HBase作为外部存储
7)可以做到以一己之力完成从后台开发(Storm、Kafka、Hbase开发)
到前台HighCharts图表开发、Jquery运用等,所有工作一个人搞定!
可以一个人搞定淘宝双11大屏幕项目!

课程十四、项目实战:基于美团网的大型离线电商数据分析平台
本项目使用了Spark技术生态栈中最常用的三个技术框架,Spark Core、Spark SQL和Spark Streaming,进行离线计算和实时计算业务模块的开发。实现了包括用
户访问session分析、页面单跳转化率统计、热门商品离线统计、 广告点击流量实时统计4个业务模块。过合理的将实际业务模块进行技术整合与改造,
该项目完全涵盖了Spark Core、Spark SQL和Spark Streaming这三个技术框架中几乎所有的功能点、知识点以及性能优化点。 仅一个项目,即可全面掌握Spark
技术在实际项目中如何实现各种类型的业务需求!在项目中,重点讲解了实际企业项目中积累下来的宝贵的性能调优 、troubleshooting以及数据倾斜解决方案等知识和技术

1)真实还原完整的企业级大数据项目开发流程:
项目中采用完全还原企业大数据项目开发场景的方式来讲解,
每一个业务模块的讲解都包括了数据分析、需求分析、方案设计、数据库设计、编码实现、功能测试、性能调优、troubleshooting与解决数据倾斜(后期运维)等环节
,真实还原企业级大数据项目开发场景。
让学员掌握真实大数据项目的开发流程和经验!

2)现场Excel手工画图与写笔记:所有复杂业务流程、架构原理
、Spark技术原理、业务需求分析、技术实现方案等知识的讲解
,采用Excel画图或者写详细比较的方式进行讲解与分析,
细致入微、形象地透彻剖析理论知识,帮助学员更好的理解、记忆与复习巩固。

课程十五、大数据高薪面试剖析
本阶段通过对历来大数据公司企业真实面试题的剖析,讲解,让学员真正的一个菜鸟转型为具有1年以上的大数据开发工作经验的专业人士,也是讲师多年来大数据
企业开发的经验之谈。

1)大数据项目
2)企业大数据项目的类型
3)技术架构(如何使用各框架处理数据)
4)冲刺高薪面试
5)面试简历编写(把握重点要点)
6)面试中的技巧

7)常见面试题讲解
8)如何快速融入企业进行工作(对于大数据公司来说非常关键)
9)学员答疑
10)针对普遍问题进行公共解答

    原文作者:101之歌
    原文地址: https://www.jianshu.com/p/b4316bec3922
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞