Spark shuffle的成本是多少?

时间:2016-09-22 12:34:55

标签: apache-spark hdfs

数据信息:

  • 您的数据有 N 行;
  • 每行 b 字节长;
  • 每行属于 G 组中的一个,由数字变量theGroup给出;
  • 最初,组在整个分区中随机排序。

群集信息:

  • 您的SparkContext E 执行者;
  • 每个执行者都有 n 个节点;
  • 将1 KB从一个执行程序转移到另一个执行程序 pingTime (包括聚合时间)
  • 每个执行器上只有一根输出电缆和一根输入电缆。

你的任务:groupBy(theGroup)使用Spark, iff ,这不会太长。

大问题:对此操作需要多长时间 T 的估计是什么?

到目前为止的疯狂猜测:我想 T 是:

  • 增加 N n.E ) - 1 log( N n.E )-1)
    • idea:因为每个节点上都有 N n.E ) - 1行,它们可能必须先排序
  • 增加 b ,显然是
  • 增加 pingTime
  • 增加 G ,但我不知道如何: G ²增加 G < Ñ
  • 减少 n

我需要估算 T 的幅度顺序,但我仍然缺少术语(例如 E G 之间的关系)。

0 个答案:

没有答案