我对正在阅读的某些代码有疑问。他们以相同的方式将“分区”称为“地图”(认为是MapReduce
样式)
--total-executor-cores #maps
是地图的数量。var data = sc.textFile(inputFile, nPartitions)
代码注释显示“ nPartitions
是地图的数量” 那么,从概念上讲,它们是相同的吗?
答案 0 :(得分:0)
您是正确的。 核心数映射到您可以在||中计算的任务数。 这个数字是固定的。但是分区的数量随工作而变化。对于每个分区,我们都有一个任务,并且任务由核心处理。 分区数定义了任务数。
答案 1 :(得分:0)
为了控制RDD的特定分区,可以使用“ repartition”方法或“ coalesce”方法。 如果要在所有映射器的所有rdds上使用它,则应使用: sparkConf.set(“ spark.default.parallelism”,s“ $ {您想要的映射器数}”) 如果您想控制随机播放(减速器) sparkConf.set(“ spark.sql.shuffle.partitions”,s“ $ {您想要的减速器数量}”)
核心数是您分配给集群中作业的核心数。