【问题标题】:Number of partitions needed in sparkspark中需要的分区数
【发布时间】:2017-12-02 15:26:14
【问题描述】:

在 2013 年 Spark 峰会上,雅虎的一个演讲中提到了这个 formula

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

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

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

【问题讨论】:

    标签: apache-spark spark-streaming partitioning


    【解决方案1】:

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

    • 64Gb 内存主机
    • 16核CPU
    • 压缩比 30:1,2 倍开销

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-08-06
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多