Advertisement

Map/Reduce任务模型

阅读量:
复制代码
    Hadoop的MapReduce的Map Task和Reduce Task都是进程级别的
    Spark Task则是基于线程模型的

多进程模型和多线程模型

  • 同一机器上的多种任务运行模式即为多进程与多线程两种模式。就整体而言,无论是MapReduce还是Spark,其本质均为多进程中的一种:MapReduce的应用程序由独立Task进程构成;Spark的工作环境则由独立Executor进程中临时搭建而成,每个应用只分配一个Executor进程。
  • 该模式便于精确控制每个任务所需的资源,尽管带来了较长启动时间,不适于处理对延迟敏感的任务;而相反的是另一种情况:该模式使Spark非常适合处理对延迟敏感的任务。

异步并发模型
Apache Spark的高性能基于其采用的异步并发模型这一特征,在一定程度上影响了其高性能水平。这一特征与Hadoop 2.0框架(包括YARN组件及MapReduce功能)具有相似之处。Hadoop 2.0框架实现了类似于Actor模式的一种异步并发机制。而Apache Spark采用了开源软件框架Akka,并通过实现Actor模型显著提升了性能表现。尽管二者在服务器端均采用了相同的并行机制基础——即server端任务调度遵循一致的原则——但在任务级别的并行实现上存在差异:其中,Hadoop MapR

全部评论 (0)

还没有任何评论哟~