hadoop和spark区别
- 作者: 擦肩而过31525709
- 来源: 51数据库
- 2020-10-04
我想你指的Hadoop作业是指Map/Reduce作业。主要的差别有如下3点:1、MR作业的资源管控是通过yarn进行的,spark可以通过yarn进行资源管控,也可以不使用yarn,但是多个组件合设时(如集群中既有spark计划,又有HBase查询),建议还是使用yarn;2、spark是基于内存计算的,计算的中间结果存放在内存,可以进行反复迭代计算;而MR计算的中间结果是要落磁盘的,所以一个job会涉及到反复读写磁盘,这也是性能比不上spark的主要原因;3、MR的一个task就要对应一个container,container的每次启动都要耗费不少时间,有些hadoop版本(如华为OceanInsightHadoop)实现了容器预热(重用)功能,这个消耗可能会小一些;而spark是基于线程池来实现的,资源的分配会更快一些。
hadoop和spark的联系和区别
计算数据存储位置
hadoop:硬盘
spark:内存
计算模型
hadoop:单一
spark:丰富
处理方式
hadoop:非迭代
spark:迭代
场景要求
hadoop:离线批处理。(面对sql交互式查询、实时处理及机器学习等需要和第三方框架结合。多种数据格式转换,导致消耗大量资源)
spark:批处理、实时处理
hadoop和spark的联系和区别
计算数据存储位置
hadoop:硬盘
spark:内存
计算模型
hadoop:单一
spark:丰富
处理方式
hadoop:非迭代
spark:迭代
场景要求
hadoop:离线批处理。(面对sql交互式查询、实时处理及机器学习等需要和第三方框架结合。多种数据格式转换,导致消耗大量资源)
spark:批处理、实时处理
推荐阅读
