Spark shuffle reducer 个数是怎么确定的?

Spark 菜鸟请教个问题..大牛轻拍~~

下面是我的个人理解...好混乱, 想不通, 求高人引导下.

reducer 的数量由 partition 决定, 假设我的数据有 1000 M, 按 100 M 划分 Partition 的话, 那不是应该有 10 个 reducer 吗? 但如果我这 1000M 数据其实只有 2 个 key, 那相同 key 会被发送到同一个 reducer 处理, 这是不是说只有 2 reducer 会被用到啊?

阅读 4.3k
1 个回答

对,10个reducer,两个有数据,另外8个里面是空的。你可以用foreachPartition输出看看,亲测如此

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进