spark 与hadoop 之比较
一、存储结构
1、hadoop :hadoop文件系统下的split(split是逻辑数据单元,block存储物理单元,split可能会跨block存储);
2、spark:使用基于内存的弹性分布式数据集RDD,进行数据基本运算和缓存(RDD是对象,肯定存储在内存中);
二、编码模式
1、hadoop :Map + Reduce(一个job只能包含一个Map + Reduce);
2、spark:丰富的transformation和action API(一个job可以包含任意多个map、reduce功能API,rdd可以进行不同级别的缓存,
只有action API才会触发计算操作,多次使用的RDD需要进行缓存);
三、执行策略
1、hadoop :每个Task作为一个进程,启动过程慢,比较消耗CPU资源;
2、spark:每个Task作为一个线程,启动低延时,节省CPU资源;
四、计算速度
1、hadoop :计算中间过程大量写入磁盘,读写操作以及数据序列化开销巨大;
2、spark:中间过程都存储在内存中,读写速度比磁盘快几个数量级。
相关文章
- spark快速开发之scala基础之1 数据类型与容器
- spark快速大数据分析之数据读取与保存
- Spark快速大数据分析之第二章Spark 下载与入门
- Spark聚合操作-reduceByKey、groupByKey、combineBykey的使用与比较
- Spark源码之reduceByKey与GroupByKey
- Spark Streaming源码解读之生成全生命周期彻底研究与思考
- c++性能之对象与指针性能比较、以及java与c++性能对比实测
- Hadoop 之 数据流——客户端与HDFS,namenode和datanode 之间的数据流
- Hadoop之——CentOS7上Hadoop 2.6.0集群的安装与配置
- Hadoop之——CentOS7上Hadoop 2.6.0集群的安装与配置