,忘记从哪复制过来的了,侵删(
Google 三件套
Hadoop对应于Google三件套
HDFS对应于GFS,即分布式文件系统,MapReduce即并行计算框架,HBase对应于BigTable,即分布式NoSQL列数据库,外加Zookeeper对应于Chubby,即分布式锁设施。
hadoop ->
zookeeper ->
hive ->
flume && sqoop ->
azkaban && oozie ->
数仓建模理论+实践(离线数仓项目) ->
hbase ->
redis ->
kafka ->
elk ->
scala ->
spark ->
kylin ->
flink ->
实时数仓项目
Scala底层也是使用的JVM虚拟机
Hadoop(重点)
学习Hadoop,需要重点掌握Hadoop的三个组件:MapReduce、HDFS、YarnZookeeper(会用,懂原理)
Zookeeper
意为动物园管理者,是一个分布式应用程序协调框架,负责协调大数据框架的
Hive(重点)
Hive底层依赖Hadoop,所以学完Hadoop在学Hive很简单,因为Hive是数仓工具,使用SQL开发的,如果懂SQL语句,那Hive学起来更简单了
Flume(会用)
Flume就是一个采集工具,比如把日志实时采集到大数据平台上,用Flume即可
Sqoop(会用)
Sqoop也是采集工具,但是和Flume定位不同,Sqoop是hadoop和其他数据库之间移动数据Flume是从各种来源收集数据,例如日志,jms,目录等
azkaban和oozie(会用)
这两个框架属于一类,都是资源调度框架,比如每天定时跑一些大数据的任务,就可以在这上面操作,这两个框架区别就是azkaban功能简单,易上手,oozie功能多,上手相对复杂一点
数仓理论+实践(重点)
学到这可以做一些项目了,找一些离线数仓的项目做下,做项目的同时需要理解数仓建模的理论,数仓为什么这样建,有什么好处,以后可能会出现什么隐患等,需要重点关注
HBase(重点)
HBase是一个分布式列式数据库,适合存储海量的数据,能进行秒级查询,需要重点学习
Kafka(重点)
Kafka是大数据消息队列领域唯一的王者,不但工作常用,面试也常问,需要理解底层原理ELK(会用,最好也深入下)
ELK是三个组件的简称,
它们是Elasticsearch、Logstash、Kibana,Elasticsearch 是一个基于 Lucene 的、支持全文索引的分布式存储和索引引擎;Logstash是一个日志收集、过滤、转发的中间件;Kibana是一个可视化工具,主要负责查询 Elasticsearch 的数据并以可视化的方式展现给业务方
Scala(重点)
前面也说了,这是大数据必学的一门语言,因为Spark和Flink底层都是基于Scala开发的,当然也有部门Java开发的
Spark(重点)
Spark 是专为大规模数据处理而设计的快速通用的计算引擎,支持批处理和流处理,目前主要用在批处理领域
Kylin(会用)
Kylin的出现就是为了解决大数据系统中TB级别数据的数据分析需求,它提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,它能在亚秒内查询巨大的Hive表。其核心是预计算,计算结果存在HBase中
Flink(重点)
Flink目前非常火,和Spark一样,支持批处理和流处理,目前主要用在流处理实时数仓项目(重点)