Apache spark Spark和Executors在本地模式下的行为
在StackOverflow中有几个关于Spark本地模式的问题得到了很好的回答,但是我找不到我的问题的答案,那就是 我知道,在本地模式下,spark为驱动程序和执行器创建一个JVM,因此这意味着我们有一个执行器,其核心数(比如说8)与我们的计算机相同(如果我们使用本地[*]运行它),这也是因为默认spark创建了具有相同核心数目的分区。(如果我们使用sc.parallelize)Apache spark Spark和Executors在本地模式下的行为,apache-spark,Apache Spark,在StackOverflow中有几个关于Spark本地模式的问题得到了很好的回答,但是我找不到我的问题的答案,那就是 我知道,在本地模式下,spark为驱动程序和执行器创建一个JVM,因此这意味着我们有一个执行器,其核心数(比如说8)与我们的计算机相同(如果我们使用本地[*]运行它),这也是因为默认spark创建了具有相同核心数目的分区。(如果我们使用sc.parallelize) 但是在spark中,一个RDD分区分配给一个执行器,如果我们有8个分区,并且在本地模式下有一个执行器,这意味着我们
但是在spark中,一个RDD分区分配给一个执行器,如果我们有8个分区,并且在本地模式下有一个执行器,这意味着我们使用8个内核一次在一个分区上执行操作,还是每个内核都在一个分区上工作?“但是在spark中,一个RDD分区分配给一个执行器” 这是错误的 在spark中,一个分区不属于一个执行器。一个分区到一个核心 这完全回答了你的问题。8个不同的分区由8个不同的内核以本地模式处理 如果您感兴趣,这可能是一本很好的读物:
.您的意思是,在集群模式下,比如说独立集群,如果我有5个执行器,每个执行器有3个核心,15个分区,那么每个分区将转到一个核心,还是每个分区转到一个执行器。另一个问题出现了,一个执行器可以有多个分区?这个问题是关于本地模式的。