Prepstellar

DP-700 · Workspace Lifecycle Management

24 cards

Spark Workspace Settings

Swipe, scroll or use ← →
  1. Where Spark settings live and who can change them

    Every notebook and Spark job definition in a workspace lands on compute that somebody configured in advance. That configuration is the Spark part of the workspace settings, and the exam expects you to know which setting exists, what its default is, and who is allowed to change it.

    The path is always the same: open Workspace settings, expand Data Engineering/Science, and select Spark settings. The page groups the options by purpose:

    Area What you decide there
    Pool The default pool of the workspace, and whether items can customize compute
    Environment A default environment, or only a runtime version
    Jobs Job admission, session timeout, and maximum job lifetime
    High concurrency Whether notebooks can share a Spark session

    One rule covers the whole page: to make changes to the Spark settings in a workspace, you need the Admin role for that workspace. Members and contributors run Spark jobs, but they work inside the limits that the admin has set here.

    This lesson is about configuration. How these features affect performance at run time is the subject of the Spark Platform Acceleration lesson.

    1 / 24
  2. Quick check

    A user with the Member role wants to change the default Spark pool of the workspace. What is true?

    1. AThe user can change it, because members can edit all workspace items

      Editing items is a different right. The Spark settings of the workspace are reserved for the Admin role.

    2. BThe user needs the Admin role in the workspace to change Spark settings

      Right. Spark settings, including the default pool, are changed by a workspace admin.

    3. COnly a capacity admin can change the default pool of a workspace

      A capacity admin controls capacity-level options. The default pool of a workspace is chosen in the workspace settings by a workspace admin.

    2 / 24

  3. The starter pool: fast start, few choices

    The starter pool exists so that nobody has to design a cluster before running a first notebook. When you create a workspace, a starter pool that is associated with that workspace is automatically created. You do not choose node or machine sizes: they are handled for you.

    Three facts define it:

    • Starter pools support only the Medium node size. A Medium node has 8 vCores and 64 GB of memory.
    • With no extra libraries and no custom Spark properties, a starter pool session typically starts in 5 to 10 seconds, because the cluster is already running.
    • Autoscale and Dynamically allocate executors are both enabled by default.

    The fast start is not a guarantee. Starter pools are a best-effort optimization that uses pre-warmed capacity. When that capacity is not available, the session starts on on-demand capacity and takes longer. There is also one case where the starter pool cannot be used at all: when the workspace uses Private Links or Managed VNets, starter pools are not supported, so Fabric creates a cluster on demand, which adds 2 to 5 minutes to the session start.

    3 / 24
  4. The starter pool: fast start, few choices

    What an admin can tune in the starter pool is the scale, not the node. In the pool details, sliders set the limits for autoscale and for executors. You can keep the default values, reduce the limits for smaller workloads, or increase them up to the maximum allowed for the capacity SKU.

    SKU Node size Default max nodes Max number of nodes
    F2, F4 Medium 1 1
    F8 Medium 2 2
    F16 Medium 3 4
    F32 Medium 8 8
    F64 and trial Medium 10 16
    F128 Medium 10 32
    F256 Medium 10 64
    F512 Medium 10 128
    F1024 and larger Medium 10 200
    4 / 24
  5. The starter pool: fast start, few choices

    In words: the smallest capacities, F2 and F4, run a starter pool of a single node. An F64 capacity starts with a maximum of 10 nodes and lets the admin raise it to 16. From F64 upward the default stays at 10 and only the allowed maximum grows, up to 200 nodes. Some related material describes the size of a pool by the burst cores of the capacity instead, so treat this table as the reference for starter pools.

    5 / 24
  6. Quick check

    A workspace uses Managed VNets. Its notebooks run on the default pool and take a few minutes to start. What explains it?

    1. AStarter pools are not supported with that network feature, so a cluster is created on demand

      Right. With Private Links or Managed VNets, Fabric cannot use the pre-warmed starter pool and builds a cluster on demand, which adds 2 to 5 minutes.

    2. BThe starter pool was scaled down to one node by the capacity SKU

      The SKU sets how many nodes the pool may use. It does not remove the pre-warmed start.

    3. CAutoscale is disabled by default in a starter pool

      Autoscale and dynamic executor allocation are both enabled by default in a starter pool, and neither one decides the start time.

    6 / 24

  7. Custom pools: you choose the nodes

    A custom pool is the answer when a workload needs something the starter pool does not offer, most often a different node size. It has two prerequisites, at two different levels:

    • You need the Admin role in the workspace.
    • A capacity admin must enable Customized workspace pools in the Spark Compute settings for the capacity. This capacity-level option is enabled by default, so it only blocks you if somebody turned it off.

    In Spark settings, the Default pool for workspace dropdown has a New Pool option. You can create multiple custom pools and select any of them as the default pool for your workspace. For each pool you choose a node family, a node size, the autoscale range, and dynamic executor allocation.

    Node size vCores Memory
    Small 4 32 GB
    Medium 8 64 GB
    Large 16 128 GB
    X-Large 32 256 GB
    XX-Large 64 512 GB

    Each step doubles the one before: Small has 4 vCores and 32 GB, Medium 8 and 64, Large 16 and 128, X-Large 32 and 256, and XX-Large 64 and 512. X-Large and XX-Large nodes are only allowed for non-trial Fabric SKUs.

    7 / 24
  8. Custom pools: you choose the nodes

    A custom pool has its own limits and costs:

    • Custom pools support a maximum node limit of 200.
    • The capacity sets a second ceiling. An F64 capacity has 384 Spark VCores with burst, and the total Spark VCores of the pool cannot exceed that number. That allows 96 Small nodes, 48 Medium, 24 Large, 12 X-Large, or 6 XX-Large.
    • Without a live pool configuration, custom pools take about three minutes to start, because Spark must get the nodes first. A custom live pool with a Full mode environment keeps clusters warm and starts sessions in approximately 5 seconds.
    • Custom pools have a default autopause duration of 2 minutes after inactivity. When autopause is reached, the cluster deallocates. Billing applies only while compute is actively used.

    A pool can also be very small. With a minimum of one node, the driver and the executor run in a single node, which suits workloads with small compute requirements.

    8 / 24
  9. Quick check

    A workspace admin on a paid F64 capacity does not find a way to create a custom pool. What is the most likely cause?

    1. ACustom pools require an F128 capacity or larger

      There is no such SKU requirement. On F64 a custom pool can hold up to 384 Spark VCores, for example 48 Medium nodes.

    2. BThe workspace already has a starter pool, and only one pool is allowed

      A workspace can have the starter pool and multiple custom pools. The admin picks one of them as the default.

    3. CCustomized workspace pools was turned off in the capacity settings

      Right. The option is enabled by default, but a capacity admin can turn it off, and then workspace admins cannot create custom pools.

    9 / 24

  10. Keep your progress in the app

    That’s 3 of 10 quick checks. In the app they stay answered, and every lesson remembers where you left off.

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store
    Keep reading here
  11. Autoscale and dynamic allocation

    These two switches appear in both pool types, and they answer different questions. Autoscale is about nodes. Dynamic allocation is about executors inside the nodes that the pool has.

    Autoscale. When you enable it, you set the minimum and maximum number of nodes, and the pool scales up and down between them based on activity. When you disable autoscale, the number of nodes remains fixed. A fixed pool is the choice when a job must get the same compute on every run.

    Dynamically allocate executors. With this option, a Spark application requests more executors when the tasks exceed the load that the current executors can bear, and releases them when the jobs are completed. It removes the need to tune executor counts by hand for every stage of a job.

    Settings can change after the pool exists. Node sizes can be altered after pool creation, although the active session has to be restarted.

    10 / 24
  12. Quick check

    A custom pool has autoscale disabled and is set to 6 nodes. How many nodes does a job on this pool use?

    1. ABetween 1 and 6, based on activity

      That is the behavior with autoscale enabled, where the pool moves between a minimum and a maximum.

    2. BA fixed 6 nodes

      Right. With autoscale disabled, the number of nodes that you set remains fixed.

    3. CUp to 200, the custom pool limit

      200 is the highest node count a custom pool can be configured with. It is not what a pool set to 6 nodes uses.

    11 / 24

  13. Let items customize compute, or keep one standard

    By default, all Spark jobs in a workspace share the same pool and resource settings. A light transformation and a large training job do not need the same driver memory, so Fabric lets an admin decide whether single items may differ.

    The switch is on the Pool tab: Customize compute configurations for items.

    Toggle Effect
    On Members and contributors can change session-level compute in an environment
    Off The Compute section of environments is disabled, and every job uses the workspace default pool

    Said in full: when this toggle is on, members and contributors can change session-level compute configurations in a Fabric environment. They can select the starter pool or a custom pool that the workspace admin created, and set Spark driver cores, driver memory, executor cores, and executor memory. When it is off, the Compute section in environment items is disabled and all Spark jobs use the workspace default pool.

    Two details matter. The values offered for cores and memory depend on the node size of the pool, so an environment tunes sessions inside the nodes that the pool has and cannot change the node size. And only the admin creates pools: the toggle lets other roles pick and tune, not build.

    12 / 24
  14. Quick check

    The toggle Customize compute configurations for items is off. A contributor attaches an environment to a notebook. Which pool does the notebook run on?

    1. AThe pool that the contributor selects in the environment

      The Compute section of the environment is disabled while the toggle is off, so there is nothing to select there.

    2. BA new custom pool created for that environment

      Pools are created by a workspace admin in Spark settings, never automatically for an environment.

    3. CThe workspace default pool

      Right. With the toggle off, all Spark jobs use the workspace default pool and its compute configuration.

    13 / 24

  15. Default environment or runtime version

    The Environment tab decides what every notebook starts with when its author chooses nothing. There are two ways to set that baseline.

    A default environment. An environment is an item that holds compute properties, a Spark runtime, and library package dependencies. A workspace admin can select an Environment as the workspace default Environment, or create a new one from the dropdown. Notebooks and Spark job definitions in the workspace then start from that runtime and those libraries.

    A runtime version only. If you disable the option to have a default environment, you select the Fabric runtime version from the available runtime versions in the dropdown. This sets the Spark version for the workspace and nothing else.

    The decision rule follows from what each one carries. When the workspace needs shared libraries or shared compute properties, use a default environment. When only the Spark version matters, the runtime dropdown is enough.

    Remember that a change of runtime inside an environment does not take effect until you save and publish the environment.

    14 / 24
  16. Quick check

    An admin disables the default environment option in the Environment tab. What can the admin still set there?

    1. AThe Fabric runtime version for the workspace

      Right. Without a default environment, the tab offers a dropdown with the available runtime versions.

    2. BThe library packages that every notebook loads

      Library dependencies are part of an environment. Without a default environment there is no shared library set.

    3. CThe driver and executor memory of every session

      Driver and executor sizes are compute properties of an environment, so they also need an environment.

    15 / 24

  17. Job admission: optimistic or reserved

    The Jobs tab controls the admission logic for all Spark jobs in the workspace, which is the rule that decides whether a job may start now.

    By default, all workspaces are enabled with optimistic job admission. A job is admitted on its minimum core requirement, compared with the Spark VCores currently available in the capacity. It starts with its minimum node setting and can scale toward its configured maximum if capacity remains available.

    The alternative is one switch: enabling Reserve maximum cores for active Spark jobs turns off optimistic job admission and reserves the maximum cores for each job. Every admitted job then holds everything it may ever need, so fewer jobs fit.

    A worked example makes the trade clear. An F32 capacity can use up to 192 Spark VCores with burst.

    Admission Cores held per job Concurrent jobs on F32
    Maximum reserved 64, the full pool maximum 3
    Optimistic 8, one Medium node Up to 24

    In words: if each job is admitted at a full pool maximum of 64 Spark VCores, the F32 capacity runs three concurrent jobs. With optimistic job admission, the same capacity can admit up to 24 jobs if each starts with a minimum of 8 Spark VCores.

    16 / 24
  18. Job admission: optimistic or reserved

    Admission also decides what happens when the capacity is full. If there are no cores available for the minimum requirement of a new job, the result depends on the type of job:

    • Interactive notebook jobs and lakehouse operations are blocked with a capacity error.
    • Batch jobs are queued and run when cores become available.

    What the error looks like, how the queue works, and how to react are covered in the Spark Job Failure Diagnosis lesson. Here the point is the setting: reserving maximum cores makes the capacity fill up with fewer jobs, so both effects arrive sooner.

    17 / 24
  19. Quick check

    A workspace keeps optimistic job admission. A job uses a pool with autoscale from 1 to 8 Medium nodes. How many Spark VCores must be free for the job to be admitted?

    1. A64, because the pool maximum is checked

      The full pool maximum is what a job holds when maximum cores are reserved. Optimistic admission looks at the minimum.

    2. B192, the burst limit of the capacity

      The burst limit is the total that all jobs share. No single job needs all of it free to start.

    3. C8, because the minimum node is checked

      Right. The job is admitted on its minimum, here one Medium node of 8 Spark VCores, and it asks for more later.

    18 / 24

  20. Session timeout and maximum job lifetime

    Two more settings on the Jobs tab protect the capacity from compute that nobody is using well. They look similar and act on different things.

    Spark session timeout. The default session expiry is set to 20 minutes for interactive Spark sessions. The setting customizes that expiry for all the notebook interactive sessions of the workspace.

    Set maximum job lifetime. This is a guardrail against runaway jobs. When you turn it on and specify a duration, Fabric automatically cancels any eligible Spark job that runs longer than the configured lifetime. Set a value that leaves room for your longest legitimate job.

    Which jobs are eligible is the part to learn:

    Affected: user-submitted jobs Not affected: system-managed jobs
    Interactive and scheduled notebook runs, including runs orchestrated through a pipeline Lakehouse table maintenance, such as optimize and vacuum
    Spark job definition runs, direct, scheduled, or through a pipeline Materialized lake view refreshes
    Livy batch and interactive sessions, including high concurrency sessions Platform operations, such as security and policy enforcement

    The rule behind the table: the maximum job lifetime applies only to user-submitted jobs, which a user starts and which run with the user's identity. System-managed jobs are not affected by this setting and continue to run to completion.

    19 / 24
  21. Quick check

    An admin wants to stop notebook runs that hang for days and hold cores. Which setting does that?

    1. AA shorter Spark session timeout for the workspace

      The session timeout sets when an interactive session expires. A run that is stuck but still active is a job that keeps running.

    2. BSet maximum job lifetime, with a suitable duration

      Right. Fabric cancels any user-submitted job that runs longer than the configured lifetime.

    3. CReserve maximum cores for active Spark jobs

      That switch changes how jobs are admitted. It does not cancel a job that is already running.

    20 / 24

  22. The high concurrency setting

    High concurrency mode lets notebooks share one Spark session, so a notebook can attach to a session that is already running. The rules for sharing belong to the Spark Platform Acceleration lesson. Here the point is the workspace switch.

    • By default, all Fabric workspaces are enabled with high concurrency mode.
    • The switch is in Spark settings, in the High concurrency section, as the For notebooks setting.
    • Enabling it allows users to start a high concurrency session in their notebooks or attach to an existing one.
    • Disabling it hides the option to start a new high concurrency session from the notebook menu, and also hides the section that configures the period of inactivity.

    One limit is set outside the workspace page. By default a high concurrency session supports up to five notebooks. The spark.highConcurrency.max property, set in the Spark properties of an environment, can raise that limit to up to 50.

    21 / 24
  23. Quick check

    A new workspace is created and nobody changes its Spark settings. Can its users start a high concurrency session from a notebook?

    1. AYes, high concurrency mode is enabled by default

      Right. All workspaces are enabled with high concurrency mode by default, so the option is in the notebook menu from the start.

    2. BNo, an admin must first enable the For notebooks setting

      The setting exists so that an admin can turn the mode off. It starts enabled.

    3. COnly after an environment sets `spark.highConcurrency.max`

      That property only changes how many notebooks can share one session, from the default of five up to 50.

    22 / 24

  24. Key takeaways

    • Custom pools need two things: the Admin role in the workspace, and the capacity option Customized workspace pools, which is enabled by default.
    • Starter pools support only Medium nodes. A job that needs another node size goes to a custom pool, with autoscale when its node count should follow the load.
    • In a starter pool, Autoscale and Dynamically allocate executors are both enabled by default.
    • Only a workspace admin creates pools. Members and contributors select a pool and tune compute in an environment, and only when item customization is on.
    • Customize compute configurations for items off: the Compute section of environments is disabled and every job uses the workspace default pool.
    • A default environment gives the workspace a shared runtime and shared libraries. The runtime dropdown sets a version only.
    • Reserve maximum cores for active Spark jobs turns off optimistic job admission. On F32, three jobs fit at 64 Spark VCores each.
    • The maximum job lifetime cancels user-submitted jobs only. Table maintenance and other system-managed jobs run to completion.
    • Disabling For notebooks under High concurrency removes the option to start a new high concurrency session.
    23 / 24
  25. Quick check

    Which statement about Spark workspace settings is correct?

    1. AA starter pool lets the admin choose between Medium and Large nodes

      Starter pools support only Medium nodes. Choosing a node size is what a custom pool is for.

    2. BOptimistic job admission admits a job on its minimum cores

      Right. It is the default in every workspace, and it lets many more jobs start than reserving the maximum for each one.

    3. CThe maximum job lifetime also cancels table maintenance jobs

      Table maintenance is a system-managed job. The lifetime limit applies to user-submitted jobs only.

    24 / 24

  26. 10 quick checks · then the test

    In the app, finishing the quick checks opens this lesson’s 10-question test, and the ones you miss come back exactly when you’re about to forget them.

    Take this lesson’s test → Next lesson: Domain Workspace Settings

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store

The whole course, on your computer and your phone

Lessons you can read, audio you can listen to on the way to work, and practice that remembers what you got wrong.

Opens in your browser. Nothing to install.

Start studying

On your phone, with the same account

Get it on Google Play Download on the App Store

“This app is the ‘One Lake’ for preparing the certification exams. Really worth it.”

Abdelhak Y. Google Play review