Spark系列——了解Spark
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执行完,资源占用情况?