Skip to content

SchedulableBuilder

== [[SchedulableBuilder]] SchedulableBuilder Contract -- Builders of Schedulable Pools

SchedulableBuilder is the <> of <> that manage a <>, which is to <> and <>.

SchedulableBuilder is a private[spark] Scala trait that is used exclusively by scheduler:TaskSchedulerImpl.md[TaskSchedulerImpl] (the default Spark scheduler). When requested to scheduler:TaskSchedulerImpl.md#initialize[initialize], TaskSchedulerImpl uses the configuration-properties.md#spark.scheduler.mode[spark.scheduler.mode] configuration property (default: FIFO) to select one of the <>.

[[contract]] .SchedulableBuilder Contract [cols="1m,3",options="header",width="100%"] |=== | Method | Description

| addTaskSetManager a| [[addTaskSetManager]]

[source, scala]

addTaskSetManager(manager: Schedulable, properties: Properties): Unit

Registers a new <> with the <>

Used exclusively when TaskSchedulerImpl is requested to scheduler:TaskSchedulerImpl.md#submitTasks[submit tasks (of TaskSet) for execution] (and registers a new scheduler:TaskSetManager.md[TaskSetManager] for the TaskSet)

| buildPools a| [[buildPools]]

[source, scala]

buildPools(): Unit

Builds a tree of <>

Used exclusively when TaskSchedulerImpl is requested to scheduler:TaskSchedulerImpl.md#initialize[initialize] (and creates a scheduler:TaskSchedulerImpl.md#schedulableBuilder[SchedulableBuilder] per configuration-properties.md#spark.scheduler.mode[spark.scheduler.mode] configuration property)

| rootPool a| [[rootPool]]

[source, scala]

rootPool: Pool

Root (top-level) <>

Used when:

  • FIFOSchedulableBuilder is requested to <>

  • FairSchedulableBuilder is requested to <>, <>, and <>

|===

[[implementations]] .SchedulableBuilders [cols="1,3",options="header",width="100%"] |=== | SchedulableBuilder | Description

| <> | [[FairSchedulableBuilder]] Used when the configuration-properties.md#spark.scheduler.mode[spark.scheduler.mode] configuration property is FAIR

| <> | [[FIFOSchedulableBuilder]] Default SchedulableBuilder that is used when the configuration-properties.md#spark.scheduler.mode[spark.scheduler.mode] configuration property is FIFO (default)

|===