Spark是一种基于内存的快速的、通用、可拓展的大数据分析计算引擎。
一、Spark与MapReduce
Hadoop框架中的MapReduce计算引擎,也是一种大数据分析计算引擎。那既然已经又来MR那我们为何还要开发Spark计算模型呢?或者说这两者有何相同之处?在应用方面有何不同?
1、Spark与Hadoop
Hadoop是一个开源的生态圈,有文件储存的HDFS,有计算引擎MR,有资源调度的YARN,以及数据库的Hbase等等。
Spark就仅仅是一个计算引擎,仅仅相对的是MR。并不能和hadoop来做比较。
2、Spark与MR
首先来说,MR程序是由Java开发,在使用时使用Java编写程序。Spark是由Scala语言开发,使用Scala编写程序。(Scala也是一种基于JVM的函数式编程语言)
Spark是一个数据快速的分析项目,他的核心技术是弹性分布式数据集(RDD)。提供了比MR丰富的模型,可以快速在内存中对数据集进行多次迭代。不像MR,如果要进行复杂的计算,需要多个MR程序相串联。
Spark是一个基于内存的计算引擎,而MR是一个基于磁盘的操作。这也是他们最大的区别,MR多个作业都要依赖于磁盘交互,但是Spark就不用,只需要在写入的时候进行一次。所以Spark在大部分情况下比MR要快。
二、Spark结构
Spark是一个标准分布式计算引擎,采用master-slave结构。
1、核心组件
Driver:是Spark的驱动器节点,负责实际代码的执行工作。将用户程序转化成作业(

本文介绍了Spark作为一种基于内存的快速大数据分析计算引擎,与Hadoop MapReduce的区别。Spark以其内存计算和弹性分布式数据集(RDD)特性,提供更快的迭代计算,相较于MR更高效。文章还探讨了Spark的结构,包括Driver、Executor、Master&Worker,以及核心概念RDD和DAG。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=121916254&d=1&t=3&u=7c73ea61336644a1aa87e259f79acc70)
383

被折叠的 条评论
为什么被折叠?



