简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什么样的场景
2016-05-06 20:17
756 查看
简述:
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是消息传递接口,可以理解为是更原生的一种分布式模型
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是消息传递接口,可以理解为是更原生的一种分布式模型
相关文章推荐
- CentOS6.5服务器端口捆绑
- Hadoop之多行读取数据
- Centos6.5 卸载和安装Java
- Openwrt一条命令把整个路由器搞蹦了
- CentOS杂记(1)
- Hadoop学习笔记---持续更新中。。。
- Hadoop完全分布式搭建
- hadoop2.6.0 伪分布式搭建
- hadoop平台搭建(2.6.0)
- html第四天网站首页的布局设计到实施
- Linux系统启动流程及grub简单应用
- Nginx的负载均衡 - 一致性哈希 (Consistent Hash)
- linux 七个运行级别
- 在CMD下启动vmware、Xshell连接虚拟机以及控制Chrome浏览器自动执行js登录校园网
- shell常用命令之curl: -w,–write-out参数详解
- 某银行MIS项目运维札记
- linux 下的编程效率分享
- 开山斧 WEBSHELL管理器 V0.2
- vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法
- Ubuntu搭建Openstack平台(kilo)(三.glance)