MapReduce 多进程模型:MapReduce 应用程序是让每个Task 动态申请资源,且运行完后马上释放资源
Spark 多线程模型:第一步是构建一个可重用的资源池,然后在这个资源池里运行所有的ShuffleMapTask 和ReduceTask
每个节点上可以运行一个或多个Executor 服务
每个Executor 配有一定数量的slot,表示该Executor 中可以同时运行多少个ShuffleMapTask 或者ReduceTask
每个Executor 单独运行在一个JVM 进程中,每个Task 则是运行在Executor中的一个线程
同一个 Executor 内部的 Task 可共享内存, 广播的文件或者数据结构只会在每个Executor 中加载一次,而不会像MapReduce 那样,每个Task 加载一次
原文:https://www.cnblogs.com/xiangyuguan/p/11353169.html