大数据Spark技术是否可以替代Hadoop?

1

Spark技术从之前和当前的技术路线上看不是为了替代Hadoop,更多的是作为Hadoop生态圈(广义的Hadoop)中的重要一员来存在和发展的。

首先我们知道Hadoop(狭义的Hadoop)有几个重点技术HDFS、MR(MapReduce), YARN。

这几个技术分别对应分布式文件系统(负责存储), 分布式计算框架(负责计算), 分布式资源调度框架(负责资源调度)。

我们再来看Spark的技术体系 ,主要分为以下:

2

1998年9月4日,Google公司在美国硅谷成立。正如大家所知,它是一家做搜索引擎起家的公司。

无独有偶,一位名叫Doug Cutting的美国工程师,也迷上了搜索引擎。他做了一个用于文本搜索的函数库(姑且理解为软件的功能组件),命名为Lucene。

3

这个问题之前,首先要搞明白spark和Hadoop各自的定义以及用途,搞明白这个之后这个问题的答案也就出来了。

首先Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎

Hadoop是一个由Apache基金会所开发的分布式系统基础架构

Spark是一个计算引擎,主要用来做数据计算用。其核心模块包括Spark Core,Spark Streaming(流式计算),MLlib(集群学习),GraphX(图计算模块)。

Hadoop主要包括HDFS(分布式存储)、MapReduce(并行计算引擎)、Yarn(资源调度)。

4

Hadoop拥有强大的生态,作为一种分布式系统架构,Hadoop适用于低成本、大规模的数据分析环境,能够接受海量数据的存储和运算,虽然Spark改进了很多MapReduce的算法,但实际上更多的是作为Hadoop的一种补充。从性能方面来比较,Spark在于运算速度快。Spark还可以执行批量处理,然而它真正擅长的是处理流工作负载、交互式查询和机器学习。

相比MapReduce基于磁盘的批量处理引擎,Spark赖以成名之处是其数据实时处理功能。Spark与Hadoop及其模块兼容。实际上,在Hadoop的项目页面上,Spark就被列为是一个模块。Spark有自己的页面,因为虽然它可以通过YARN(另一种资源协调者)在Hadoop集群中运行,但是它也有一种独立模式。它可以作为 Hadoop模块来运行,也可以作为独立解决方案来运行。MapReduce和Spark的主要区别在于,MapReduce使用持久存储,而Spark使用弹性分布式数据集(RDDS)。

Spark之所以如此快速,原因在于它在内存中处理一切数据。没错,它还可以使用磁盘来处理未全部装入到内存中的数据。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章