spark中需要的分区数

时间:2017-06-29 04:39:15

标签: apache-spark spark-streaming partitioning

在2013年Spark峰会上,雅虎的一个演示文稿提到了formula

  

需要的分区=总数据大小/(内存大小/内核数)

假设64Gb内存主机有16个CPU内核。

该演示文稿提到,要处理3Tb的数据,所需的分区数是46080.我很难得到相同的结果。请解释计算,46080号是怎么来的?

1 个答案:

答案 0 :(得分:2)

查看演示文稿(可用here),可用信息为:

  • 64Gb内存主机
  • 16 core cpu
  • 压缩比例30:1,开销2倍

您的公式在计算时应使用未压缩的数据大小,因此,在这种情况下,您需要先解压缩它。

数据大小= 3Tb * 30 * 2 = 180Tb = 184320Gb

通过您获得的公式运行它: 184320Gb /(64Gb / 16)= 46080分区