Mapreduce 纱线火花作业的动态调度

Mapreduce 纱线火花作业的动态调度,mapreduce,apache-spark,yarn,Mapreduce,Apache Spark,Yarn,我正在运行spark on Thread,但我的应用程序在尝试加载大型RDD时总是出现内存不足异常,即使我的动态调度设置为true 要解决这个问题,我必须指定执行器内存 ``` 但动态调度的全部目的不是从纱线中分配所需的资源吗?来自: 在Spark中,动态资源分配是在执行器的粒度上执行的 这意味着它将启动更多的执行器,但并不意味着它将改变单个执行器的内存量。如果您将更多的资源加载到内存中,而单个执行器无法处理这些资源,那么将更多的资源旋转起来将不会有任何好处 .set("spark.shuf

我正在运行spark on Thread,但我的应用程序在尝试加载大型RDD时总是出现内存不足异常,即使我的动态调度设置为true

要解决这个问题,我必须指定执行器内存

```

但动态调度的全部目的不是从纱线中分配所需的资源吗?

来自:

在Spark中,动态资源分配是在执行器的粒度上执行的

这意味着它将启动更多的执行器,但并不意味着它将改变单个执行器的内存量。如果您将更多的资源加载到内存中,而单个执行器无法处理这些资源,那么将更多的资源旋转起来将不会有任何好处

.set("spark.shuffle.service.enabled", "true")
.set("spark.dynamicAllocation.enabled", "true")
.set("spark.default.parallelism", String.valueOf(cpu * 3))
.set("spark.driver.memory", "5g")
.set("spark.executor.memory", "30g")
.set("spark.shuffle.service.enabled", "true")
.set("spark.dynamicAllocation.enabled", "true")
.set("spark.default.parallelism", String.valueOf(cpu * 3))