Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-01-2024 07:41 AM
Databricks allocates resources to executors on a node based on several factors, and it appears that your cluster configuration is using default settings since no specific Spark configurations were provided.
-
Executor Memory Allocation:
- The
spark.executor.memorysetting you observed (24G) is the amount of memory allocated to each executor. This is typically a fraction of the total node memory to ensure there is enough overhead for the operating system and other processes. - The observed memory usage cap of 48G per worker node suggests that there might be two executors per node, each using 24G of memory.
- The
-
Executor Cores:
- The absence of
spark.executor.coresin the Spark UI environment tab indicates that the default configuration is being used. By default, Databricks assigns one executor per worker node, and the number of cores per executor is determined by the total number of cores available on the node divided by the number of executors. - For a node with 16 cores, if there are two executors, each executor would typically use 8 cores.
- The absence of
-
Resource Allocation:
- Databricks runs one executor per worker node by default, but this can be adjusted by specifying the
spark.executor.instancesandspark.executor.coresconfigurations. - The total memory available to executors on a node is less than the node's total memory to leave room for system processes and Spark's overhead.
- Databricks runs one executor per worker node by default, but this can be adjusted by specifying the