HADOOP和spark的关系? spark能否替代Hadoop???

1. HADOOP和spark的关系?

如下图所示:在这里插入图片描述
Hadoop和 Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储, 也有计算处理的功能。Spark,则是一个专门用来对那些分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。

2.Hadoop主要包括哪些重要组件?

  • HDFS
    Hadoop分布式文件系统。它是一个分布式的、面向块的、不可更新的、高度伸缩性的、可运行在集群中普通硬盘上的文件系统。此外,HDFS还是一个独立的工具,它可以独立于Hadoop生态系统中其他组件而运行(但是如果我们想要使HDFS高可用时,还需要依赖zookeeper和日志管理器,但这又是另外一码事了)。
  • MapReduce
    这是一个基本的在集群中一组标准硬件上执行的分布式计算框架。我们没必要一定在HDFS张使用它—因为文件系统是可插拔的;同样的,我们也没必要一定在yarn中使用它,因为资源管理器是可插拔的:例如我们可以用Mesos来替换它。
  • YARN
    Hadoop集群中默认的资源管理器。但是我们可以在集群中不使用yarn,而是将我们的mr(译注:map/reduce)任务运行在Mesos之上;或者仅仅在集群中运行不需要依赖yarn的hbase。
  • Hive
    Hive是一个构建在MapReduce框架之上的类sql查询引擎,它可以将hiveQL语句转换为一系列运行在集群中的mapReduce任务。此外,hdfs也不是唯一的存储系统,也不一定非得使用MapReduce框架,比如在这里我么可以替换为Tez。
  • Hbase
    基于HDFS的键值对存储系统,为Hadoop提供了联机事务处理(OLTP)能力。Hbase仅仅依赖HDFS和zookeeper;但是Hbase只能依赖于HDFS吗?不是的,Hbase除了可以运行在HDFS上之外,还可以运行在Tachyon(内存文件系统)、MapRFS、IBM、GPFS以及其他一些框架之上。

3. spark包括哪些重要组件?

在这里插入图片描述

  • Spark Core
    用于通用分布式数据处理的引擎。它不不依赖于任何其他组件,可以运行在任何商用服务器集群上。
  • Spark Sql
    运行在Spark上的SQL查询语句,支持一系列SQL函数和HiveQL。但是还不是很成熟;HiveQL集成了需要的hive元数据和Hive相关的jar包。
  • Spark Streaming
    基于spark的微批处理引擎,支持各种各样数据源的导入。唯一依赖的是Spark Core引擎。
  • Spark MLib
    构建在spark之上的机器学习库,支持一系列数据挖掘算法。

4. spark能否替代Hadoop?

spark会替代Hadoop的一部分,会替代Hadoop的计算框架,如mapReduce、Hive查询引擎,但spark本身不提供存储,所以spark不能完全替代Hadoop。

猜你喜欢

转载自blog.csdn.net/u013075024/article/details/90724686
今日推荐