开发者社区> 问答> 正文

从low-level的角度来看hadoop和spark的shuffle有什么差异?

从low-level的角度来看hadoop和spark的shuffle有什么差异?

展开
收起
芯在这 2021-12-06 01:06:04 381 0
1 条回答
写回答
取消 提交回答
  • 从low-level的角度来看,两者差距不小。Hadoop MapReduce是sort-based,进入combiner()和reduce()的records必须先sort。这样的好处在于combiner()/reduce()可以处理大规模的数据,因为其输入数据可以通过外排得到(mapper对每段数据先做排序,reducer的shuffle对排好序的每段数据做归并)。目前spark选择的是hash-based,通常使用HashMap对shuffle来的数据进行aggregate,不会对数据进行提前排序。如果用户需要进行排序的数据,那么要自己调用类似SortByKey()的操作。

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

相关电子书

更多
《构建Hadoop生态批流一体的实时数仓》 立即下载
零基础实现hadoop 迁移 MaxCompute 之 数据 立即下载
CIO 指南:如何在SAP软件架构中使用Hadoop 立即下载

相关实验场景

更多