Hadoop和Spark的区别

Hadoop和Spark的区别

Hadoop: Hadoop 于 2006 年作为 Yahoo 项目起步,后来成为顶级 Apache 开源项目。它是一种通用的分布式处理形式,有几个组件:Hadoop 分布式文件系统 (HDFS),以 Hadoop 原生格式存储文件并在集群中并行化它们; YARN,协调应用程序运行时的时间表;和 MapReduce,实际并行处理数据的算法。Hadoop 是用 Java 构建的,可通过多种编程语言访问,用于通过 Thrift 客户端编写 MapReduce 代码,包括 Python

它可以通过 Apache 发行版开源,也可以通过 Cloudera(规模和范围最大的 Hadoop 供应商)、MapR 或 HortonWorks 等供应商获得。

Spark: Spark 是一个较新的项目,最初于 2012 年在加州大学伯克利分校的 AMPLab 开发。这是一个顶级 Apache 项目,专注于跨集群并行处理数据,但最大的不同是它在内存中工作。

Hadoop 将文件读取和写入 HDFS,而 Spark 使用称为 RDD(弹性分布式数据集)的概念处理 RAM 中的数据。Spark 可以在独立模式下运行,使用 Hadoop 集群作为数据源,也可以与 Mesos 一起运行。在后一种情况下,Mesos master 代替 Spark master 或 YARN 用于调度目的。
Spark 围绕 Spark Core 构建,该引擎驱动调度、优化和 RDD 抽象,并将 Spark 连接到正确的文件系统(HDFS、S3、RDBMS 或 Elasticsearch)。有几个库在 Spark Core 之上运行,包括 Spark SQL,它允许您在分布式数据集上运行类似 SQL 的命令,MLLib 用于机器学习,GraphX 用于图形问题,以及流式传输,它允许输入连续流记录数据。

以下是 Spark 和 Hadoop 之间的差异表:

S.No Hadoop Spark
1 Hadoop 是一个使用 MapReduce 算法的开源框架 Spark 是闪电般快速的集群计算技术,它扩展了 MapReduce 模型以高效地使用更多类型的计算。
2 Hadoop 的 MapReduce 模型从磁盘读取和写入,从而降低了处理速度 Spark 减少了对磁盘的读/写周期数并将中间数据存储在内存中,因此处理速度更快。
3 Hadoop 旨在高效处理批处理 Spark 旨在高效处理实时数据。
4 Hadoop是高延时计算框架,没有交互模式 Spark是低延时计算,可以交互处理数据。
5 使用 Hadoop MapReduce,开发人员只能以批处理模式处理数据 只有 Spark 可以处理实时数据,来自 twitter、facebook 等实时事件
6 Hadoop 是一个更便宜的选择,但在成本方面进行比较 Spark 需要大量 RAM 才能在内存中运行,从而增加了集群并因此增加了成本。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程