首先认识spark,不严格的讲,spark是用来替代Hadoop架构中计算框架的 ,主要是用来优化替代mapreduce和hive中的部分功能
spark来替代hive的查询引擎
站在集群资源的角度:(yarn)
Resource manager是主,Node manger是从
站在程序的角度:
Driver是主,Executor是从
driver包含dagscheduler和taskscheduler
一个action就是一个job,job可以分为多个stage,一个stage中可能有n个tasks(取决于有多少个partitions)
spark先针对整体application申请资源,再切割任务。(加上内存计算,这两点导致spark快)
MapReduce先拿任务,再申请资源,跑完立刻释放资源(加上io问题,这两点导致了MapReduce慢)
map替换,reduce计算