内存处理引擎有什么好处?

fnatzsnv  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(313)

关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。

5年前关门了。
改进这个问题
如果数据集适合内存,spark的性能最好,如果数据集不适合,它将使用磁盘,因此它与hadoop一样快。假设我处理的是万亿/千兆字节的数据。有一小簇。显然,没有办法把它放进记忆里。我的观察是,在大数据时代,大多数数据集的单位都是千兆字节甚至更多。
那么内存处理引擎有什么好处呢?

ggazkfy8

ggazkfy81#

我发现spark相对于hadoop的mapreduce的优势不仅仅是 in-memory computation engine 甚至从磁盘输入。据我所知,至少有两大进步:
Spark DAG execution engine 在mapreduce上
two phase execution Thread level parallel execution 结束 Process level parallel execution 详细说明一下:
对于一个复杂的执行计划,spark的dagscheduler会在shuffle边缘将你的计划分为几个阶段,但是你不需要像hadoop那样添加虚拟Map阶段,因此,消除了reduce输出到hdfs中的不必要的具体化,然后作为Map输入读回。
hadoop的mapreduce具有众所周知的高延迟,因为mapreduce中的每个任务都是一个进程,jvm级的并行性与spark的线程级并行性相比是很重的。

相关问题