Prepstellar

DP-700 · Workspace Lifecycle Management

26 cards

Fabric Workspace Settings

Swipe, scroll or use ← →
  1. Choose the Spark pool for the workspace

    Workspace settings decide what compute a notebook lands on before anyone writes a line of code, so the first decision is which Spark pool the workspace uses by default.

    Every Fabric workspace is created with a Starter Pool already associated with it. Starter Pools are prehydrated, medium-size live pools, and their default configuration comes from the Fabric capacity SKU that was purchased. Node and machine sizing is handled for you behind the scenes, which is why an Apache Spark session commonly starts in five to ten seconds. That is a deliberate trade: you give up sizing control and get an immediate session.

    To change any Spark setting in a workspace you need the Admin role in that workspace.

    1 / 26
  2. Choose the Spark pool for the workspace

    For workloads with specific compute requirements, a workspace admin can create a Custom Spark Pool instead, and size it around the job.

    Control What it gives you
    Node size Nodes sized for the job's performance needs; a minimum of one node runs driver and executor together.
    Autoscale New nodes acquired up to the maximum you set, then retired after the job runs.
    Dynamic executor allocation An optimal number of executors chosen within a maximum bound, based on data volume.

    Two costs come with that flexibility. The capacity admin must leave the Customized workspace pools option enabled in the capacity's Spark Compute settings, and moving the workspace default from Starter Pool to a custom pool can push session start to around three minutes.

    2 / 26
  3. Quick check

    A workspace runs small notebooks today, but next quarter's jobs will need larger nodes and room to grow up to a defined ceiling. What should the admin set as the workspace default?

    1. AThe Starter Pool, whose sizing follows the capacity SKU

      The Starter Pool is preconfigured from the capacity SKU and does not let the admin size nodes for a specific workload.

    2. BA Custom Spark Pool with autoscale up to its max node limit

      Right. A Custom Spark Pool is where node size lives, and autoscale adds nodes up to the maximum the admin sets and retires them afterwards.

    3. CReserve maximum cores for active Spark jobs

      Reserving maximum cores changes how jobs are admitted to the workspace; it does not size nodes or add capacity as a job grows.

    3 / 26

  4. Decide how far item-level settings can go

    A workspace admin can also decide whether individual items are allowed to depart from the workspace default at all.

    Customize compute configuration for items is the switch. When it is on, users can adjust session-level properties such as driver and executor cores and driver and executor memory for individual notebooks and Spark job definitions through an Environment. When the workspace admin turns it off, the default pool and its compute configuration are used for every environment in the workspace — item-level overrides simply stop applying.

    Environment is the object that carries those flexible configurations: compute properties, the Spark runtime to use, and library package dependencies for the workload.

    4 / 26
  5. Decide how far item-level settings can go

    In the Environment tab, a workspace admin can select an existing Environment as the workspace default, or create a new one from the dropdown. Choosing a default Environment fixes the Spark version and the library dependencies that Spark jobs in that workspace start from.

    If the option to have a default Environment is disabled, the admin instead selects a Fabric runtime version from the available runtimes listed in the dropdown. Either way the workspace ends up with a defined runtime; the difference is whether library dependencies travel with it.

    High concurrency mode is a separate setting: it lets several notebooks share a single Spark session instead of each holding its own.

    5 / 26
  6. Quick check

    An admin turns off Customize compute configuration for items. What happens to the notebooks and Spark job definitions in that workspace?

    1. AThey all run on the default pool and its compute settings

      Right. With item customization off, every environment in the workspace falls back to the default pool and the compute configuration attached to it.

    2. BEach item keeps its own driver and executor memory overrides

      Session-level overrides such as driver and executor memory are exactly what that switch withdraws, so items cannot keep their own values.

    3. CThey fail until a runtime version is chosen per notebook

      Nothing stops running: the runtime comes from the workspace default Environment or the selected Fabric runtime version, not from a per-notebook choice.

    6 / 26

  7. Keep runaway Spark jobs inside a limit

    Jobs settings control how Spark work is admitted and how long it may live, which is what stops one workload from holding a capacity indefinitely.

    Every workspace is enabled with Optimistic Job Admission by default. Turning on Reserve maximum cores for active Spark jobs switches that approach off and reserves the maximum cores for the jobs instead. The Spark session timeout setting customizes session expiry for interactive notebook sessions; the default expiry for an interactive Spark session is twenty minutes.

    Set maximum job lifetime is the guardrail for the opposite problem: a job that never ends. Turn it on, enter a value, choose a unit such as hours, and save, and Fabric automatically cancels any eligible job that runs longer than that.

    7 / 26
  8. Keep runaway Spark jobs inside a limit

    The limit is deliberately selective. It applies only to user-submitted jobs — work a person explicitly starts, running under that person's identity.

    Affected by the limit Not affected
    Interactive and scheduled notebook runs, including runs orchestrated through a pipeline Lakehouse table maintenance such as optimize and vacuum
    Spark job definition runs, whether submitted directly, on a schedule, 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

    System-managed jobs are triggered and managed by Fabric on your behalf, so they continue to run to completion. That is what keeps background maintenance healthy while user workloads stay under the guardrail. Set a limit generous enough for your longest legitimate user job, because reaching it means cancellation.

    8 / 26
  9. Quick check

    A workspace sets a maximum Spark job lifetime of two hours. Which run is still allowed to finish past that limit?

    1. AA notebook run that a pipeline started on a schedule

      A notebook run stays user-submitted even when a pipeline orchestrates it, so the limit still cancels it.

    2. BA Livy batch session submitted by a data engineer

      Livy batch and interactive sessions are user-submitted work and are cancelled like any other eligible job.

    3. CA lakehouse table maintenance job

      Right. Table maintenance such as optimize and vacuum is triggered and managed by Fabric, and system-managed jobs run to completion.

    9 / 26

  10. Keep your progress in the app

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

  11. Group workspace content into domains

    A domain is a way of logically grouping all the data in an organization that belongs to one area or field — most often a business department, so that department can manage its data under its own regulations and needs.

    Data is grouped by associating workspaces with domains. When a workspace is associated with a domain, all the items in that workspace are associated with the domain too and receive a domain attribute as part of their metadata. A subdomain refines the grouping one level further, under a parent domain.

    Two things follow from that association: users can filter content by domain in the OneLake catalog, and some tenant-level governance settings can be delegated to the domain level so each business unit sets its own rules.

    10 / 26
  12. Group workspace content into domains

    What domain assignment does not do is just as examinable.

    Domain assignment does not affect item visibility or accessibility for tenant users. Discovery, visibility, and access depend on the workspace role and item permissions, not on the domain. Every user in a tenant can also see every domain defined in the tenant, whatever their domain role: someone who is neither contributor nor admin of a "Finance" domain still sees it in the OneLake catalog domain filter.

    A domain image is the cosmetic side of the same idea: pick an image or colour and it becomes part of the catalog theme while that domain is selected, so people can see which domain's items they are browsing.

    11 / 26
  13. Quick check

    A team assigns its workspace to the Finance domain and expects that only Finance members will then see the items. What actually changes?

    1. AEvery item gains a domain attribute used for discovery

      Right. The items pick up a domain attribute in their metadata, which supports catalog filtering and delegated governance — not access.

    2. BOnly domain contributors keep access to the workspace items

      Access is unchanged: visibility and accessibility still depend on workspace roles and item permissions.

    3. CItem permissions are replaced by domain roles

      Domain roles govern the domain itself; they do not take over the workspace roles and item permissions that grant access.

    12 / 26

  14. Know who can assign a workspace, and how

    Three roles share the work of creating and managing domains, and their limits are easy to confuse.

    Role Can do Cannot do
    Fabric admin Create and edit domains, name domain admins and contributors, associate workspaces, edit and delete domains
    Domain admin Update the description, define contributors, associate workspaces, set the image, override delegated tenant settings Delete the domain, change its name, add or remove other domain admins
    Domain contributor Assign the workspaces they administer, from the workspace's own settings Reach the Domains tab in the admin portal

    One condition sits on top of that table: to assign a workspace to a domain, a domain contributor must be a workspace admin — they must hold the Admin role in the workspace they are trying to associate.

    13 / 26
  15. Know who can assign a workspace, and how

    Fabric admins and domain admins assign existing workspaces from the domain page in three ways.

    • By workspace name, useful when naming conventions already encode the business context; several workspaces can be selected at once.
    • By workspace admin, selecting users or security groups so that every workspace they administer joins the domain.
    • By capacity, useful when each department has its own capacity.

    The last two exclude "My workspaces" and affect existing workspaces only: workspaces created, or attached to those capacities, after the action are untouched.

    A default domain covers that gap. Define a domain as the default for named users or security groups and Fabric scans the organization's workspaces: a workspace that already has a domain keeps it, an unassigned one is assigned to the default domain, and any new workspace those principals create afterwards is assigned too. Those principals generally become domain contributors of the workspaces assigned this way.

    14 / 26
  16. Quick check

    A domain is set as the default domain for a group of workspace admins. One of their workspaces already belongs to another domain. What happens to it?

    1. AIt moves to the new default domain

      The default domain does not override a current assignment; it fills gaps rather than replacing existing ones.

    2. BIt keeps the domain it is already assigned to

      Right. An existing assignment is preserved, and only unassigned workspaces — plus new ones those principals create — go to the default domain.

    3. CIt becomes unassigned until an admin acts

      Nothing is cleared: the mechanism never removes a valid assignment to leave a workspace without a domain.

    15 / 26

  17. Tier cold data automatically with a lifecycle policy

    OneLake storage tiers exist to lower retention cost: keep data that is read often in the hot tier, and move quieter data to cool or cold storage. A lifecycle management policy does that moving for you, based on when a file was created, last modified, or last accessed.

    Typical policies read like this: after 30 days without modification move files to cool, and after 90 days without modification move them to cold; or, after 30 days without being accessed, move the files under one path to cool and bring a file back to hot if it is accessed again.

    The scope of the arrangement is fixed: each workspace has a single lifecycle policy, and that policy holds up to ten rules. It affects all files in the workspace unless its rules are scoped to specific paths.

    16 / 26
  18. Tier cold data automatically with a lifecycle policy

    A rule is a JSON object with a name, an enabled flag, the type Lifecycle, and a definition built from four parts.

    Part What it holds
    Scope Filters. blobTypes supports block blobs only. prefixMatch takes up to ten case-sensitive prefixes, each starting with an item name or GUID, such as myLakehouse.Lakehouse/Files.
    Status An active rule attempts to run daily; an inactive rule waits until it is reactivated.
    Condition Days after creation, days after last modification, or days after last access.
    Action TierToCool, TierToCold, or automatic return to hot when a cooled file is accessed.

    With no filter, a rule applies to every file in the workspace, and files cannot be excluded; when more than one filter is defined, a logical AND joins them. Each rule needs at least one action-condition pair, and if two actions land on the same file, the least expensive one wins — cold is considered less expensive than cool.

    17 / 26
  19. Quick check

    How much lifecycle configuration can a single workspace hold?

    1. ATen separate policies, each holding one rule

      The ten belongs to rules inside one policy, not to a count of policies per workspace.

    2. BOne policy for every item stored in the workspace

      The policy is workspace-wide and narrows its reach with path prefixes; it is not created once per item.

    3. COne policy holding up to ten rules

      Right. A workspace has one lifecycle policy, and that policy can hold up to ten rules.

    18 / 26

  20. Work with access time, and update the policy

    The last-access condition needs Fabric to know when files were read, and it arranges that itself. Apply a rule with the days after last access condition and OneLake automatically turns on access time tracking for the workspace and sets the last access time of every file to the current day. Remove the last rule that uses that condition and tracking is automatically turned off again.

    Two details keep the tracking cheap and accurate. Only the first read in a twenty-four-hour period updates the last access time, so repeated reads do not add latency; and metadata operations, such as getting a file's properties, are not access operations and never move the timestamp. If a file is modified between reads, the last access time is the more recent of the two values.

    19 / 26
  21. Work with access time, and update the policy

    Automatic return to hot is the companion action: available only alongside the last-access condition, it has no effect on files that were already cool before the rule existed, and it moves a file from cool back to hot only once in thirty days to avoid repeated early-deletion charges.

    To manage the policy you must be a workspace admin. Two routes exist:

    • The Fabric portal, under Workspace settings → OneLake → Lifecycle management, where rules are added, deleted, paused, and reactivated.
    • The lifecycle policy APIs, where only full policy updates are supported: resubmit the entire policy through the import operation.

    Timing matters when you promise results. Policies attempt to run once per day and may be delayed if the previous run has not finished, and new or updated rules take up to twenty-four hours to take effect. Cool storage has a minimum thirty-day retention and cold a minimum of ninety, so moving data earlier can bring early movement fees.

    20 / 26
  22. Quick check

    An admin manages tiering through the API. A new rule must cool files that have gone thirty days without being read, and the workspace should start tracking reads without a separate setup step. What should the call send?

    1. AOnly the new rule, with a creation-time condition

      A creation-time condition measures how old a file is, not how long it has gone unread, and the API cannot accept a partial policy.

    2. BThe whole policy, with a last-access condition and a cool action

      Right. API updates resubmit the complete policy, and the last-access condition turns on access time tracking by itself.

    3. CThe whole policy, plus a separate call that turns on access tracking first

      The full policy is correct, but no separate call is needed: applying the last-access condition enables tracking automatically.

    21 / 26

  23. Size the Apache Airflow runtime

    Apache Airflow Job workspace settings configure the default Airflow runtime for the workspace, and they offer the same two shapes: a Starter Pool that is configured by default, and Custom Pools you create. If customizing compute configurations for items is disabled, the Starter Pool is used for every environment in the workspace.

    Property Starter Pool (default) Custom Pool
    Size Compute node size: Large Configurable node size, extra nodes, autoscale
    Startup latency Instantaneous Starts in the stopped stage
    Resume latency Up to 5 minutes Up to 5 minutes
    Uptime behaviour Shuts down after 20 minutes of inactivity on the Airflow environment Always on until manually paused
    Suggested for Developer Production

    Starter Pools give an instant runtime that is deprovisioned when nobody is using it; Custom Pools trade that away for an always-on runtime and real sizing controls.

    22 / 26
  24. Size the Apache Airflow runtime

    Creating a Custom Pool follows the workspace settings: open Data Factory → Apache Airflow Runtime Settings, expand Default Data Workflow Setting — which starts on Starter Pool — and choose New Pool.

    Four properties are then yours to set: a name; a compute node size, where Large suits complex or production DAGs and Small suits simpler ones; enable autoscale, so the pool scales nodes up and down as needed; and extra nodes, which let the pool run more DAGs at the same time. Each extra node provides the capacity to run three more workers. Select Create to finish.

    The settings can also be read programmatically. The Airflow workspace settings read operation is in beta, so the caller needs a viewer or higher workspace role, the Workspace.Read.All or Workspace.ReadWrite.All delegated scope, and the beta query parameter set to true. Its response returns the workspace's default pool template.

    23 / 26
  25. Quick check

    A production Airflow environment must stay available between DAG runs and handle more concurrent DAGs as the team grows. What should the admin configure?

    1. AA Custom Pool with autoscale enabled and extra nodes added

      Right. A Custom Pool stays on until it is manually paused, and autoscale plus extra nodes — three more workers per node — cover the growing DAG volume.

    2. BThe Starter Pool, resumed before each batch of DAGs

      The Starter Pool shuts down after twenty minutes of inactivity and takes up to five minutes to resume, so it is not available between runs.

    3. CThe Starter Pool with a shorter inactivity timeout

      A shorter timeout makes the Starter Pool less available, and it still exposes none of the node size, autoscale, or extra-node controls.

    24 / 26

  26. Key takeaways

    • Spark compute: the Starter Pool is prehydrated from the capacity SKU and starts a session in 5-10 seconds; a Custom Spark Pool adds node size, autoscale, and dynamic executor allocation, at roughly three minutes to start.
    • Item overrides: with item compute customization off, every environment uses the default pool and its configuration; the default Environment carries runtime and libraries, or the workspace picks a Fabric runtime version instead.
    • Job guardrails: Optimistic Job Admission is the default, interactive sessions expire after twenty minutes, and a maximum job lifetime cancels user-submitted jobs while system-managed maintenance runs to completion.
    • Domains: assignment tags every item in the workspace for discovery and delegated governance, never for access; a domain contributor must also be a workspace admin, and a default domain preserves existing assignments.
    • OneLake lifecycle: one policy of up to ten rules per workspace, running daily and taking up to 24 hours to apply; the last-access condition switches access time tracking on automatically, and API updates resubmit the whole policy.
    • Airflow: Starter Pool for development, Custom Pool for an always-on production runtime with node size, autoscale, and extra nodes.
    25 / 26
  27. Quick check

    Which statement correctly separates the four areas of workspace settings covered here?

    1. AA domain assignment decides who can open the items, and the Starter Pool is where node sizing is configured for a workload

      Domain assignment never governs access, and the Starter Pool is precisely the pool that hides node sizing from you.

    2. BThe maximum job lifetime also cancels lakehouse table maintenance, and a workspace can hold up to ten lifecycle policies

      System-managed maintenance is exempt from the lifetime limit, and the ten is a limit on rules inside a single policy.

    3. CA Custom Spark Pool sizes compute, a domain organizes items, and one lifecycle policy tiers the files

      Right. Compute sizing, organizational grouping, and automatic tiering are three separate settings with three separate jobs.

    26 / 26

  28. 9 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.

The whole course, on your phone

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