Hadoop项目结构

时间:2024-02-23 22:33:17

本文来自于厦门大门-林子雨老师的讲堂及添加个人学习中的理解,做个笔录,如有BUG,请留言,不胜感激。

 

 

HDFS:

分步式文件系统,负责整个分布式文件的存储,怎么用成百上千台服务器进行数据的存储

 

YARN:

负责调度内存、CPU、带宽等计算资源。

 

MapReduce:

专门做离线计算和批处理,不做实时计算

 

Tez:

把MapReduce的作业进行分析优化,并构成一个有向无环图,保证获取到最好的处理效率,让那些先做,那些后做,那些不要重复去做。(理清处理顺序,避免工作重复)

 

Spark:

它的逻辑和MapReduce一样,它们的区别是Spark是基于内存计算,MapReduce是基于硬盘计算,所以Spark的性能要比MapReduce要高

 

Hive;

实现数据仓库的功能。

    数据仓库:

          用企业的决策分析,把大量的历史数据保存到数据仓库中,建立各种各样的维度,可以对历史数据大量分析,来满足企业的决策需求

Hive架构在MaprReduce之上,其实是把SQL语句转换成一堆的MapReduce作业。

 

Pig:

实现流数据处理,如果说Hive是完成批量数据处理,那么Pig是属于轻量级的分析,它提供类似SQL的查询语言Pig Latin,简化在Hive上代码的复杂度

 

Oozie:

作业流调度系统、工作流管理工具,比如在处理一个工作时,可能需要分成多个任务环节,需要很多个应用程序去执行,那么就需要一个工作流系统去完成调度。Oozie就是处理这类工作。

 

Zookeeper:

分步式协调服务(分步式锁、集群管理)。

 

HBase:

分布式数据库,HDFS是做顺序读写,但实际中需要随机读写是靠HBase(面向列的存储数据库),它可以支持几十亿行,上百万列存储的超大型数据库,实现随机读写,实时应用

 

Flume:

做日志收集,在很多流式数据分析的时候,产生的实时流数据,Flume则负责收集起来。

 

Sqoop:

完成数据的导入导出。可以关系数据库中的数据,导入到Hadoop平台上,可以导入HDFS、Hive,HBase,反之也可以导出,

 

Ambari:

安装部署工具,它可以在一个集群上智能化的去部署和管理Hadoop平台上的各个部件