spark 真比 mr on hadoop 快吗

最近在调研spark准备在部门的数据平台上使用spark替换原有的mr。遇到的几个问题解决记录下。
spark相对于传统MR工作流的特色:

  • 查询的管道式执行
  • 没有中间数据会持久化
  • 对表的页数据进行LRU缓存

Spark 真比 mr on hadoop 快吗?

一些对于spark和hadoop不太了解的同学可能会觉得spark和hadoop非此即彼,还有同学问过我spark是基于内存的技术,为什么不直接用spark替换hadoop。
我们处理数据都是会把数据读取到内存上进行操作,而无法直接操作硬盘进行数据的逻辑计算,所谓的spark基于内存的计算只是

  • spark的shuffle操作内存中进行一次而不用像mr那样还要经过一次硬盘。
  • 相比传统的MR工作流中每个job在迭代时都会讲数据存入HDFS,而Spark支持DGA和管道操作,这样就可以让我们执行复杂的工作流而不用将中间数据持久化(除非要进行shuffle)。

参考资料: