简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什么样的场景

简述:

a)     Hadoop

基于分布式文件系统HDFS的分布式批处理计算框架。适用于数据量大,SPMD(单程序多数据)的应用。
b)     Spark
基于内存计算的并行计算框架。适用于需要迭代多轮计算的应用。
c)      MPI

基于消息传递的并行计算框架。适用各种复杂应用的并行计算。支持MPMD( 多程序多数据) ,开发复杂度高


详细:

1,Hadoop是离线计算,基于磁盘,每次运算之后的结果需要存储在HDFS里面,下次再用的话,还需要读出来进行一次计算,磁盘IO开销比较大。底层基于HDFS存储文件系统。适用于离线数据处理和不需要多次迭代计算的场景,并且Hadoop只有Map和Reduce两种接口,相对于Spark来说太少了。  
2,Spark是内存计算框架,适用于多次迭代的计算模型,诸如各种机器学习算法 ,Spark里面的一个核心的概念就是RDD,弹性分布式数据集。Spark支持内存计算模型,用户可以指定存储的策略,当内存不够的时候,可以放置到磁盘上。并且Spark提供了一组RDD的接口,Tran敏感词ormations和Action。Tran敏感词ormations是把一个RDD转换成为另一个RDD以便形成Lineage血统链,这样当数据发生错误的时候可以快速的依靠这种继承关系恢复数据。Action操作是启动一个Job并开始真正的进行一些计算并把返回的结果可以给Driver或者是缓存在worker里面。
3,MPI是消息传递接口,可以理解为是更原生的一种分布式模型

你可能感兴趣的:(简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什么样的场景)