spark 与hadoop 之比较

时间:2021-11-06 17:35:59
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:中间过程都存储在内存中,读写速度比磁盘快几个数量级。