开发者社区> 问答> 正文

从现实角度来看hadoop和spark的shuffle有什么差异?

从现实角度来看hadoop和spark的shuffle有什么差异?

展开
收起
芯在这 2021-12-06 01:06:41 364 0
1 条回答
写回答
取消 提交回答
  • 从现实角度来看,两者也有不小差距。Hadoop MapReduce将处理流程划分出明显的几个阶段:map(),spill,merge,shuffle,sort,reduce()等。每个阶段各司机制,可以按照过程式的编程思想来逐一实现每个阶段的功能。在Spark中,没有这样功能明确的阶段,只有不同的stage和一系列的transformation(),所以spill、sort、aggregate等操作需要蕴含在transformation()中。如果我们将map()端划分数据、持久化数据的过程称为shuffle write,而将reducer读入数据、aggregate数据的过程称为shuffle read。那么在spark中,问题就变成怎么在job的逻辑或者物理执行图中加入shuffle write、shuffle read的处理逻辑,以及两个处理逻辑怎么高效实现。Shuffle write由于不要求数据有序,shuffle write的任务很简单:将数据partition好,并持久化。之所以要持久化,一方面是要减少内存存储空间压力,另一方面也是为了fault-tolerance。

    2021-12-06 01:06:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载

相关实验场景

更多