开发者社区> 问答> 正文

spark中为什么要使用map-side预聚合的shuffle操作?

spark中为什么要使用map-side预聚合的shuffle操作?

展开
收起
游客ahv54x37wvm7u 2021-12-07 20:31:06 478 0
1 条回答
写回答
取消 提交回答
  • 如果因为业务需要,一定要使用shuffle操作,无法用map类的算子来替代,那么尽量使用可以map-side预聚合的算子,类似于MapReduce中的本地combiner。map-side预聚合之后,每个节点本地就只会有一条相同的key,因为多条相同的key都被聚合起来了。其他节点在拉取所有节点上的相同key时,就会大大减少需要拉取的数据数量,从而也就减少了磁盘IO以及网络传输开销。 建议使用reduceByKey或者aggregateByKey算子来替代掉groupByKey算子

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

相关电子书

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