当前位置:   article > 正文

Spark性能优化(7)——提高并行度_spark提高并行度

spark提高并行度

1 提高并行度

  • spark-submit 配置了 2 个executor,每个 executor ,有5个 CPU core
  • new SparkConf().set("spark.default.parallelism","5"),表示 所有 RDD 的 partition 都被设置为 5 个,也就是每个 RDD 的数据,都会被分成 5 份。那么针对 RDD 的 partition,一个 partition 会启动 一个 task 来进行计算,所以对于所有的算子操作,都只创建 5 个 task 在集群运行
  • 这个时候,集群中有 10 个 CPU core ,仅设置了 5 个 task ,相当于在集群中有 5个 cpu core 是空闲的。
  • 最好的情况是每个 cpu core 都不空闲;
  • 不一定设置 10 个 task,让每个 cpu core 一个 task, 可以设置 20 ~ 30 个 task。 因为每个 task 执行的顺序和完成的时间可能是不一样的。如果正好就是 10 个 task,可能某个 task 很快完成了,那么那个 cpu 就又空闲了
  • Spark 官方推荐,设置集群总 cpu 数量的 2~3 倍的并行度,这样,每个 cpu core 可能分配到并发运行 2~3 个 task 线程
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/772315
推荐阅读
相关标签
  

闽ICP备14008679号