Spark系列——了解Spark

杀马特。学长 韩版系。学妹 提交于 2020-02-28 19:31:25

Spark系列——了解Spark

一、什么是Spark?

1.Spark是一个分布式的并行计算框架。

2.Spark是下一代的map-reduce,扩展了MR的数据处理流程。

3.MR存在的问题:

(1)调度慢,启动map、reduce太耗时

MR:map进程,reduce进程

spark:executor进程

10个线程:8 map task(线程) 2  reduce(线程)

进程慢,线程快,spark只用申请一次进程,而MR申请多次。

(2)计算慢,每一步都要保存中间结果落磁盘

MR: map->reduce的中间结果在磁盘

spark: map->reduce的中间结果在磁盘(默认)【除非cache一下指定到内存】

(3)API抽象简单,只有map和reduce两个原语

MR:需要通过脚本把map和reduce穿起来,如果项目中有较多的数据处理,写脚本比较费劲,需要画流程图再写脚本。

Spark:通过map和reduce等算子就能将数据串在一起。

(4)缺乏作业流描述,一项任务需要多轮MR

4.spark与MR的内存比较:

8 map 1G,2个reduce 1G
MR:如果执行map执行完,去看yarn这个任务运行的资源情况
这个任务会占用多少资源?2G

spark:1个executor 10G
8 map 1G ,2个reduce 1G
8个map执行完,资源占用情况?
10G

MR进程用完会释放,但是Spark只有1个executor,只要map或者reduce没有执行完成就会占用整个的资源。

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!