Spark和Hadoop的关系
Spark是一种内存计算框架(包含迭代式计算、DAG【有向无环图】计算、流式【streaming】计算,图【GraphX】计算等),与Hadoop的MapReduce是竞争关系,但效率比MapReduce高很多。Hadoop的MapReduce和Spark是一种并行的概念,两者都是计算框架。Spark通过lineage(血缘)这一核心思想实现了基于内存的轻量容错机制,取代了MapReduce的硬盘数据冗余。
Hadoop他就像是一个操作系统:
(1)存储有HDFS,相当于Linux下的ext3,ext4存储文件系统
(2)资源调度有YARN,相当于Linux下的进程调度和内存分配模块
(3)计算引擎有内置的MapReduce(他是运行与YARN之上的)。而Spark的运行需要外部的资源调度系统来支持,他也支持多种资源调度系统(都是分布式部署的),主要有:Standalone Deploy mode、Amazon EC2、Apache Mesos、Hadoop YARNSpark可以运行于Hadoop之上(用Hadoop的HDFS作为存储文件系统,用Hadoop的YARN作为资源调度系统),但是Spark也可以完全脱离Hadoop,比如用red hat的Gluster FS作为存储文件系统,用Apache Mesos作为资源调度系统。也就是说,Spark并不完全是属于Hadoop生态圈的。
但从目前来看,Spark主要还是依哥Hadoop的应用,还是跑在Ha