spark为什么比mapreduce快?
💡
原文中文,约800字,阅读约需2分钟。
📝
内容提要
Spark通过DAG计算模型减少磁盘I/O,优化shuffle过程,并采用多线程模型降低任务启动时间,因此比MapReduce更快。Spark适合迭代计算,而MapReduce因多进程模型启动开销大。
🎯
关键要点
- Spark通过DAG计算模型减少磁盘I/O,而不是shuffle次数。
- DAG模型允许连续shuffle,减少了落盘次数。
- Spark在shuffle时优化了排序过程,只有部分场景需要排序。
- Spark适合迭代计算,能够从缓存中获取数据,减少加载时间。
- MapReduce采用多进程模型,启动时间较长,而Spark采用多线程模型,减少了启动开销。
- 多线程模型在资源控制上存在争用问题,但能提高任务启动效率。
➡️