DP-750 Cheat Sheet
Set up and configure an Azure Databricks environment
Select and Configure Compute in a Workspace
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Job compute is dedicated, ephemeral compute for scheduled production runs
Job (classic jobs) compute provisions a dedicated cluster scoped to a single job run and terminates it when the run finishes, isolating scheduled non-interactive pipelines from interactive development and billing at the lower jobs DBU rate.
Trap All-purpose compute is interactive and shared, so it is not recommended for production jobs and breaks the isolation requirement.
10 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. You are building a scheduled Lakeflow Job whose task is a SQL task that runs a query to refresh reporting tables. Requirements: the ta
- You have an Azure Databricks workspace enabled for Unity Catalog with curated gold Delta tables. Business analysts must connect Power BI and Tableau to run high-concurrency SQL dashboards directly on
- You have an Azure Databricks workspace. You have a scheduled Lakeflow Job named Job1 with five sequential tasks. Requirements: the tasks must run on dedicated compute that terminates when the job run
- You have an Azure Databricks workspace enabled for Unity Catalog. You are building a scheduled Lakeflow Job whose task is a SQL task that runs a query to refresh reporting tables. Requirements: the ta
- You have an Azure Databricks workspace that runs a production reporting pipeline every hour. The pipeline currently runs as a scheduled job attached to an always-on all-purpose cluster that stays prov
- You have an Azure Databricks workspace named Workspace1 in which data scientists run interactive notebooks on shared clusters throughout the day. You need to add a nightly ETL job that runs a Spark no
- You have an Azure Databricks workspace. You must schedule a production Lakeflow Job whose single task is a Spark Submit task that runs a compiled JAR. Requirements: the task must run on the compute ty
- You have an Azure Databricks workspace shared by several teams. You need to schedule a production data pipeline so that every run starts on a fresh, clean cluster with no libraries, state, or configur
- You have an Azure Databricks workspace with a shared all-purpose cluster that several teams use. A review finds that a scheduled production pipeline was pinned to this cluster, so it runs at the highe
- You have an Azure Databricks workspace. A scheduled production job currently runs on an always-on shared all-purpose cluster. Finance reports two problems: the job is billed at the higher interactive
All-purpose compute is persistent, multi-user interactive compute for notebooks and ad hoc analysis; it bills at a higher DBU rate than job compute and is not recommended for production pipelines because it mixes development and production workloads.
10 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. You are building a scheduled Lakeflow Job whose task is a SQL task that runs a query to refresh reporting tables. Requirements: the ta
- You have an Azure Databricks workspace enabled for Unity Catalog with curated gold Delta tables. Business analysts must connect Power BI and Tableau to run high-concurrency SQL dashboards directly on
- You have an Azure Databricks workspace. You have a scheduled Lakeflow Job named Job1 with five sequential tasks. Requirements: the tasks must run on dedicated compute that terminates when the job run
- You have an Azure Databricks workspace enabled for Unity Catalog. You are building a scheduled Lakeflow Job whose task is a SQL task that runs a query to refresh reporting tables. Requirements: the ta
- You have an Azure Databricks workspace enabled for Unity Catalog in a serverless-enabled region. A platform team wants to run scheduled jobs without provisioning or managing any virtual machines in th
- You have an Azure Databricks workspace. You must schedule a production Lakeflow Job whose single task is a Spark Submit task that runs a compiled JAR. Requirements: the task must run on the compute ty
- You have an Azure Databricks workspace with a shared all-purpose cluster that several teams use. A review finds that a scheduled production pipeline was pinned to this cluster, so it runs at the highe
- You have an Azure Databricks workspace. A data engineering team needs compute to interactively develop and debug notebooks throughout the workday. The compute must persist so the team can iterate, rer
- You have an Azure Databricks workspace. A team needs to interactively develop and debug PySpark transformations in notebooks, running arbitrary Python and Scala code and inspecting intermediate DataFr
- You have an Azure Databricks workspace. A scheduled production job currently runs on an always-on shared all-purpose cluster. Finance reports two problems: the job is billed at the higher interactive
- SQL warehouses run SQL and BI workloads, not pipeline code
A SQL warehouse is compute optimized for SQL queries and BI tools such as Power BI and Tableau, and comes in serverless, pro, and classic types; it cannot execute notebook or declarative-pipeline code.
Trap A SQL warehouse cannot serve as the compute engine for a Lakeflow declarative pipeline.
11 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. You are building a scheduled Lakeflow Job whose task is a SQL task that runs a query to refresh reporting tables. Requirements: the ta
- You have an Azure Databricks workspace enabled for Unity Catalog with curated gold Delta tables. Business analysts must connect Power BI and Tableau to run high-concurrency SQL dashboards directly on
- You have an Azure Databricks workspace enabled for Unity Catalog. A data engineer attaches a notebook that contains Python transformation code to a serverless SQL warehouse, and the Python cells fail
- You have an Azure Databricks workspace enabled for Unity Catalog. You are building a scheduled Lakeflow Job whose task is a SQL task that runs a query to refresh reporting tables. Requirements: the ta
- You have an Azure Databricks workspace enabled for Unity Catalog in a serverless-enabled region. A platform team wants to run scheduled jobs without provisioning or managing any virtual machines in th
- You have an Azure Databricks workspace. You must schedule a production Lakeflow Job whose single task is a Spark Submit task that runs a compiled JAR. Requirements: the task must run on the compute ty
- You have an Azure Databricks workspace with a shared all-purpose cluster that several teams use. A review finds that a scheduled production pipeline was pinned to this cluster, so it runs at the highe
- You have an Azure Databricks workspace enabled for Unity Catalog. A reporting team runs only SQL queries and dashboards against governed Delta tables, with many analysts querying concurrently. They wr
- You have an Azure Databricks workspace. A team needs to interactively develop and debug PySpark transformations in notebooks, running arbitrary Python and Scala code and inspecting intermediate DataFr
- You have an Azure Databricks workspace enabled for Unity Catalog. You are configuring a new Lakeflow Spark Declarative Pipelines pipeline and must choose the compute that will execute it. A teammate s
- You have an Azure Databricks workspace. A scheduled production job currently runs on an always-on shared all-purpose cluster. Finance reports two problems: the job is billed at the higher interactive
- Serverless compute starts instantly and is managed by Databricks
Serverless compute runs in the Databricks-managed cloud account and starts in seconds with no VM configuration or instance-pool management; it is available for notebooks, jobs, and declarative pipelines.
7 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. Analysts complain that they wait minutes for classic clusters to start before they can run notebooks. You need to give them interactiv
- You have an Azure Databricks workspace enabled for Unity Catalog. A data engineer attaches a notebook that contains Python transformation code to a serverless SQL warehouse, and the Python cells fail
- You have an Azure Databricks workspace enabled for Unity Catalog in a serverless-enabled region. A platform team wants to run scheduled jobs without provisioning or managing any virtual machines in th
- You have an Azure Databricks workspace. You must schedule a production Lakeflow Job whose single task is a Spark Submit task that runs a compiled JAR. Requirements: the task must run on the compute ty
- You have an Azure Databricks workspace with a shared all-purpose cluster that several teams use. A review finds that a scheduled production pipeline was pinned to this cluster, so it runs at the highe
- You have an Azure Databricks workspace enabled for Unity Catalog. Analysts complain that they wait minutes for classic clusters to start before they can run notebooks. You need to give them interactiv
- You have an Azure Databricks workspace enabled for Unity Catalog. You are configuring a new Lakeflow Spark Declarative Pipelines pipeline and must choose the compute that will execute it. A teammate s
- Autoscaling adds and removes only worker nodes between a min and max
Cluster autoscaling automatically adds or removes worker nodes between a configured minimum and maximum based on load; it resizes only workers, never the driver, and it does not stop an idle cluster.
Trap Autoscaling only resizes an active cluster; it never terminates an idle one, which is the job of automatic termination.
13 questions test this
- You have an Azure Databricks workspace where a scheduled job runs a single-threaded Python statistics library over a few thousand rows and writes the result to a Delta table named Forecast. The worklo
- You manage an Azure Databricks workspace named Workspace1 that runs a nightly batch ETL job on classic job compute. The job alternates between a heavy join-and-shuffle stage that needs many executors
- You have an Azure Databricks SQL warehouse that runs scheduled dashboard queries during the day and then sits unused overnight, accruing cost. A colleague suggests using inactivity-based cluster autom
- You have an Azure Databricks cluster running a job whose executor demand fluctuates. A teammate proposes changing the cluster so that both the driver and the workers grow and shrink with the load. You
- You have an Azure Databricks SQL warehouse that serves Power BI dashboards. Individual query latency is acceptable, but during business hours many analysts run queries at the same time and queries beg
- You have an Azure Databricks workspace with an Apache Spark Structured Streaming ingestion running on a classic all-purpose cluster that uses standard autoscaling. The cluster does not scale down well
- You manage an Azure Databricks workspace named Workspace1 that contains a shared all-purpose cluster used by a data engineering team. During working hours the interactive workload swings between light
- You have an Azure Databricks workspace whose analytics team queries a single pro SQL warehouse named Warehouse1 that backs several Power BI reports. Two separate problems appear: one analyst's complex
- You have an Azure Databricks single-node cluster that a team created for a small job. The dataset has grown and the job now needs distributed processing whose worker capacity scales with a fluctuating
- You have an Azure Databricks cluster for a production job. The job needs a small, always-available baseline of workers so it stays responsive, plus headroom to add workers during heavier periods, whil
- You have an Azure Databricks workspace that contains an all-purpose cluster used for an interactive ETL notebook. The transformation load rises sharply during some stages of a run and falls during oth
- You have an Azure Databricks single-node cluster that a team started using for a small workload. The workload has grown into large-scale distributed processing that now exhausts the single node. You n
- You have an Azure Databricks job cluster whose input volume is bursty: a few times a day it must process a large surge, but most of the time the volume is low. Currently the cluster is provisioned at
- A single-node cluster has zero workers and runs on the driver only
A single-node cluster sets the worker count to 0 so the driver runs all Spark work with no worker nodes; it cannot autoscale and suits only small, non-distributed workloads.
4 questions test this
- You have an Azure Databricks workspace where a scheduled job runs a single-threaded Python statistics library over a few thousand rows and writes the result to a Delta table named Forecast. The worklo
- You manage an Azure Databricks workspace named Workspace1 that contains a shared all-purpose cluster used by a data engineering team. During working hours the interactive workload swings between light
- You have an Azure Databricks single-node cluster that a team created for a small job. The dataset has grown and the job now needs distributed processing whose worker capacity scales with a fluctuating
- You have an Azure Databricks single-node cluster that a team started using for a small workload. The workload has grown into large-scale distributed processing that now exhausts the single node. You n
- Enhanced autoscaling optimizes Lakeflow declarative-pipeline compute
Lakeflow Spark Declarative Pipelines run on runtime-managed job compute that uses enhanced autoscaling, which scales workers to workload volume and proactively shuts down under-utilized nodes to minimize cost.
3 questions test this
- You have an Azure Databricks workspace that runs a Lakeflow Spark Declarative Pipelines (SDP) pipeline which ingests a streaming source whose volume spikes sharply a few times an hour and is near zero
- You have an Azure Databricks workspace that runs a Lakeflow Spark Declarative Pipelines (SDP) pipeline which ingests a streaming source whose volume spikes sharply a few times an hour and is near zero
- You have an Azure Databricks workspace with an Apache Spark Structured Streaming ingestion running on a classic all-purpose cluster that uses standard autoscaling. The cluster does not scale down well
- Cluster capacity is worker count multiplied by per-node CPU and memory
Total cluster compute equals the number of worker nodes multiplied by each node's CPU and memory, so a workload is scaled either by adding workers (node count) or by selecting a larger node type.
- SQL warehouse size sets query power; scaling adds clusters; Auto Stop halts idle
A SQL warehouse t-shirt cluster size (X-Small to 4X-Large) sets the compute power for a single query, while its Scaling min/max range adds or removes WHOLE clusters to absorb concurrent-query load (not worker nodes, unlike cluster autoscaling); Auto Stop shuts an idle warehouse down (default 45 minutes classic/pro, 10 minutes serverless).
Trap SQL warehouse Scaling adds whole CLUSTERS for concurrency, whereas cluster autoscaling adds WORKER NODES; Auto Stop (warehouse) is distinct from a cluster automatic termination.
5 questions test this
- You have an Azure Databricks workspace that runs a Lakeflow Spark Declarative Pipelines (SDP) pipeline which ingests a streaming source whose volume spikes sharply a few times an hour and is near zero
- You have an Azure Databricks SQL warehouse that runs scheduled dashboard queries during the day and then sits unused overnight, accruing cost. A colleague suggests using inactivity-based cluster autom
- You have an Azure Databricks SQL warehouse that serves Power BI dashboards. Individual query latency is acceptable, but during business hours many analysts run queries at the same time and queries beg
- You have an Azure Databricks workspace that runs a Lakeflow Spark Declarative Pipelines (SDP) pipeline which ingests a streaming source whose volume spikes sharply a few times an hour and is near zero
- You have an Azure Databricks workspace whose analytics team queries a single pro SQL warehouse named Warehouse1 that backs several Power BI reports. Two separate problems appear: one analyst's complex
- Automatic termination shuts down a cluster after idle minutes
Automatic termination stops an all-purpose cluster after a set number of minutes with no Spark jobs, queries, or commands running, removing idle DBU and VM cost; a cluster is inactive only when nothing is executing, so active workloads keep it alive and are never interrupted.
Trap Enabling autoscaling or spot pricing lowers cost but does not stop an idle cluster; only automatic termination removes the idle waste.
13 questions test this
- You have an Azure Databricks workspace with an all-purpose cluster whose worker nodes were switched to Azure Spot VMs to reduce cost. A finance review shows the monthly cost barely changed because the
- You have an Azure Databricks workspace with an all-purpose cluster whose worker nodes were switched to Azure Spot VMs to reduce cost. A finance review shows the monthly cost barely changed because the
- You have an Azure Databricks workspace that runs scheduled batch pipelines on classic job compute and also hosts several all-purpose clusters that analysts use for interactive notebook development dur
- You manage an Azure Databricks workspace named Workspace1 that contains several all-purpose clusters used for interactive development. The clusters already use autoscaling and Azure Spot VMs, yet bill
- You have an Azure Databricks workspace named Workspace1 that contains a shared all-purpose cluster the data science team uses for interactive analysis during the day. After hours the cluster usually s
- You have an Azure Databricks workspace where all-purpose clusters already have automatic termination enabled, so they shut down after the team stops working and Databricks DBU cost stays low. Each mor
- You manage an Azure Databricks workspace named Workspace1 in which a data engineering team runs several all-purpose clusters for interactive notebook development. The clusters use a current Databricks
- You have an Azure Databricks workspace with an all-purpose cluster whose worker nodes were switched to Azure Spot VMs to reduce cost. A finance review shows the monthly cost barely changed because the
- You have an Azure Databricks workspace. A colleague wants to reduce both how long clusters take to start and how long autoscaling takes to add nodes during load spikes. They ask which capability is de
- You have an Azure Databricks workspace with an all-purpose cluster that analysts use for ad hoc queries during the day. A scheduled Lakeflow Job runs on the same cluster each night. You need the clust
- You have an Azure Databricks workspace named Workspace1 in which a data engineering team recreates all-purpose clusters many times a day, and each new cluster spends several minutes acquiring Azure VM
- You have an Azure Databricks workspace that contains an all-purpose cluster configured with autoscaling and a low minimum worker count. A cost review shows the cluster still accrues charges overnight
- You have an Azure Databricks workspace that contains a shared all-purpose cluster analysts use during the day. You enabled automatic termination on the cluster, but it never shuts down and keeps billi
- Instance pools keep warm VMs to reduce cluster start and scale time
An instance pool holds a set of idle, ready-to-use cloud VMs so clusters and autoscaling attach pre-acquired nodes and start faster; you pay the Azure VM cost for idle pooled instances but no DBU until a cluster uses them.
13 questions test this
- You have an Azure Databricks workspace where scheduled jobs must start quickly, so you want a set of machines kept warm and ready. Finance requires that you do not pay Databricks DBU charges for machi
- You have an Azure Databricks workspace where scheduled jobs must start quickly, so you want a set of machines kept warm and ready. Finance requires that you do not pay Databricks DBU charges for machi
- In an Azure Databricks workspace, an automated integration-test harness creates a fresh all-purpose cluster of the same instance type for every test run and terminates it when the run ends, dozens of
- You are planning an instance pool so that a nightly batch of Azure Databricks jobs starts quickly. Your finance team asks exactly what the workspace is billed for the instances that sit idle in the po
- You have an Azure Databricks workspace with a job cluster that autoscales to handle variable load. During load spikes the cluster adds workers too slowly because acquiring new Azure VMs takes time, an
- You have an Azure Databricks workspace where several teams each create their own job clusters that all use the same VM instance type. Each cluster waits to acquire fresh VMs at start, and the teams' c
- You have an Azure Databricks workspace where a data engineering team creates and terminates all-purpose clusters many times a day. Each new cluster takes several minutes to become available because Az
- You have an Azure Databricks workspace where teams launch many short-lived job clusters throughout the business day. Users complain that each run waits a long time while new Azure VMs are acquired bef
- You have an Azure Databricks workspace where all-purpose clusters already have automatic termination enabled, so they shut down after the team stops working and Databricks DBU cost stays low. Each mor
- You manage an Azure Databricks workspace named Workspace1 in which a data engineering team runs several all-purpose clusters for interactive notebook development. The clusters use a current Databricks
- You have an Azure Databricks workspace with a scheduled job that must begin processing within a tight start-time window each morning. Occasionally the job is late because acquiring new Azure VMs delay
- You have an Azure Databricks workspace. A colleague wants to reduce both how long clusters take to start and how long autoscaling takes to add nodes during load spikes. They ask which capability is de
- You have an Azure Databricks workspace named Workspace1 in which a data engineering team recreates all-purpose clusters many times a day, and each new cluster spends several minutes acquiring Azure VM
- Spot VMs reduce worker cost but can be reclaimed
Configuring workers as Azure Spot VMs lowers per-hour compute cost, but Azure can reclaim spot capacity at any time, so spot fits fault-tolerant workloads and does not by itself reduce idle-cluster waste.
- Photon is the vectorized engine that accelerates SQL and DataFrame work
Photon is Databricks' native vectorized C++ query engine that transparently accelerates SQL and Spark DataFrame workloads, including JSON ETL and Delta operations; it is turned on per cluster with the Use Photon Acceleration checkbox and is on by default on recent runtimes.
Trap Photon accelerates SQL and DataFrame operations, not arbitrary Python or Scala UDFs.
6 questions test this
- Fabrikam runs an Azure Databricks workspace attached to a Unity Catalog metastore. A nightly Lakeflow job executes a large batch ETL that is written entirely with the Scala DataFrame API: it scans mul
- You have an Azure Databricks workspace. Before enabling Photon on a large classic job cluster, a stakeholder worries it will require rewriting the existing Spark SQL and DataFrame code, and that any o
- You have an Azure Databricks workspace. A scheduled Spark DataFrame job runs on Photon-enabled job compute, but its runtime has not improved. Investigation shows that most of the job's time is spent i
- You have an Azure Databricks classic job cluster with Photon enabled. A Scala pipeline on it is implemented almost entirely with the low-level RDD and Dataset APIs, and profiling shows almost none of
- You are creating classic Azure Databricks compute for a team that will train machine learning and deep learning models. The team wants common machine learning libraries and supporting infrastructure t
- You have an Azure Databricks workspace. A Structured Streaming ingestion job reads JSON events from Azure Event Hubs and writes them, unchanged and without any aggregation or windowing, to a Delta tab
- The Databricks Runtime version fixes the bundled Spark version
Choosing a Databricks Runtime (DBR) version sets the bundled Apache Spark version and preinstalled libraries; Long Term Support (LTS) releases are recommended for production because they are supported and patched longer.
6 questions test this
- You manage Azure Databricks compute for a pipeline that is promoted across separate development, test, and production workspaces. Occasionally the pipeline behaves differently between environments bec
- Woodgrove Bank runs a business-critical, scheduled Lakeflow job on classic job compute in an Azure Databricks workspace. The job was pinned to a recent non-LTS Databricks Runtime release, yet over sev
- You have an Azure Databricks workspace and are documenting how compute is configured. A developer needs to know which single compute setting determines the exact Apache Spark version a cluster runs, s
- You have an Azure Databricks job whose SQL transformation calls a built-in function that was introduced in Apache Spark 4.0. The job runs on a cluster using an older Databricks Runtime and fails to re
- Your team runs a nightly financial-reporting job on Azure Databricks job compute. Auditors require reruns to use the same selected Databricks Runtime major/minor version and compatibility baseline rat
- You manage an Azure Databricks workspace. You are configuring the job compute for a business-critical, scheduled production pipeline that must run unchanged for many months. You need to choose a Datab
- Databricks Runtime for Machine Learning preinstalls ML libraries
The Databricks Runtime for Machine Learning extends the standard runtime with preinstalled ML libraries such as PyTorch, TensorFlow, and scikit-learn (with GPU variants), so selecting it avoids manually installing the ML stack.
5 questions test this
- You are creating classic Azure Databricks compute for a team that will train machine learning and deep learning models. The team wants common machine learning libraries and supporting infrastructure t
- You have an Azure Databricks workspace. A model must be retrained on a fixed nightly schedule as a non-interactive pipeline, and the training code depends on scikit-learn and MLflow being present. You
- A data science team on your Azure Databricks workspace currently pip-installs scikit-learn, XGBoost, and MLflow onto every new all-purpose cluster before they can start work. The manual installs are s
- You have an Azure Databricks workspace enabled for Unity Catalog. A data engineer must build features for a machine learning project and track experiments, and needs the Databricks feature-engineering
- You have an Azure Databricks workspace. A team trains scikit-learn and XGBoost models on modest tabular datasets that fit comfortably in memory, and does no deep-learning or neural-network training. T
- Cluster-scoped libraries load for every notebook; notebook-scoped are session only
Cluster-scoped libraries install on the cluster and are available to every notebook attached to it, whereas notebook-scoped libraries installed with %pip apply only to the current notebook session and are discarded when the cluster restarts.
9 questions test this
- You have an Azure Databricks workspace named WS1 with a shared all-purpose cluster named ClusterR that several analysts attach notebooks to, and ClusterR also runs scheduled R jobs in production. An a
- You have an Azure Databricks workspace. A data science team runs R workloads on an all-purpose cluster named ClusterDS that uses dedicated access mode. They need a specific analytics package that is p
- You have an Azure Databricks cluster. A data engineering team needs the cluster to install a fixed set of about 20 pinned Python dependencies (all available on PyPI) as compute-scoped libraries. They
- You have an Azure Databricks workspace with an all-purpose cluster named Cluster1 that several data engineers attach their notebooks to. A new Python package must be available to every notebook and jo
- You have an Azure Databricks workspace named WS1 with a shared all-purpose cluster named ClusterR that several analysts attach notebooks to, and ClusterR also runs scheduled R jobs in production. An a
- You have an Azure Databricks all-purpose cluster named Cluster1 with a notebook already attached and running. You install a new cluster-scoped library on Cluster1, but the attached notebook still cann
- You have an Azure Databricks all-purpose cluster shared by several analysts. One analyst needs a newer version of a Python package for a single notebook. The change must not affect the package version
- You have an Azure Databricks workspace enabled for Unity Catalog. Your team built an internal Python utility packaged as a wheel (.whl) file that is not published to PyPI or any public index. You need
- You have an Azure Databricks all-purpose cluster. Analysts install packages with %pip at the start of their notebooks, but after the cluster restarts the packages are gone and their notebooks fail unt
- Libraries install from package repositories or from files and volumes
Compute libraries can be installed from package repositories (PyPI, Maven, CRAN) or from uploaded artifacts such as wheel, egg, or JAR files stored in workspace files or Unity Catalog volumes.
8 questions test this
- You have an Azure Databricks workspace running Databricks Runtime 15.4 LTS that is not enabled for Unity Catalog. Your team maintains a custom Python wheel in the workspace file tree next to the proje
- You have an Azure Databricks workspace running Databricks Runtime 15.4 LTS that is not enabled for Unity Catalog. Your team maintains a custom Python wheel in the workspace file tree next to the proje
- You have an Azure Databricks workspace. A data science team runs R workloads on an all-purpose cluster named ClusterDS that uses dedicated access mode. They need a specific analytics package that is p
- You have an Azure Databricks cluster. A data engineering team needs the cluster to install a fixed set of about 20 pinned Python dependencies (all available on PyPI) as compute-scoped libraries. They
- You have an Azure Databricks workspace enabled for Unity Catalog. An internal Python utility is built as a wheel and is not published to any public package index. It must be available to every noteboo
- You have an Azure Databricks workspace enabled for Unity Catalog. A team uses a JAR stored in a Unity Catalog volume on an all-purpose compute resource that uses standard access mode. The JAR must be
- You have an Azure Databricks workspace enabled for Unity Catalog. Your team built an internal Python utility packaged as a wheel (.whl) file that is not published to PyPI or any public index. You need
- You have an Azure Databricks workspace on Databricks Runtime 15.x that is enabled for Unity Catalog. A team has historically stored a custom Python library in the DBFS root and installed it from there
- Standard access mode installs only allowlisted libraries
On standard (formerly shared) access mode compute, libraries and init scripts must be on the Unity Catalog allowlist maintained by a metastore admin, whereas dedicated access mode has no such restriction.
Trap The Unity Catalog allowlist governs standard access mode; dedicated (single-user) compute is not subject to it.
5 questions test this
- You have a Unity Catalog-enabled Azure Databricks workspace. A data engineer must install a JAR library and run a cluster-scoped init script on their own compute, but metastore admins have not added t
- You have an Azure Databricks workspace enabled for Unity Catalog. An internal Python utility is built as a wheel and is not published to any public package index. It must be available to every noteboo
- You are the metastore admin for a Unity Catalog metastore. Developers using standard access mode compute need to install several approved JARs and init scripts stored in a Unity Catalog volume. You ne
- You have a Unity Catalog-enabled Azure Databricks workspace. You need a cluster-scoped init script, stored in a Unity Catalog volume, to run on a cluster that uses standard access mode. The compute pr
- You have an Azure Databricks workspace enabled for Unity Catalog. A team uses a JAR stored in a Unity Catalog volume on an all-purpose compute resource that uses standard access mode. The JAR must be
- Compute ACLs grant CAN ATTACH TO, CAN RESTART, or CAN MANAGE
Compute access control assigns three permission levels to users, groups, or service principals: CAN ATTACH TO (run commands and view logs), CAN RESTART (start, stop, and restart), and CAN MANAGE (edit configuration and permissions).
14 questions test this
- You have an Azure Databricks workspace that contains an all-purpose compute resource named TeamCluster. A team lead who is not a workspace admin must be able to grant and revoke other users' permissio
- You have an Azure Databricks workspace on the Premium plan. A data engineering team must be able to create only job compute (not all-purpose compute) on a Long Term Support Databricks Runtime, and eac
- You have an Azure Databricks workspace that contains a shared all-purpose cluster named TeamCluster1. A team lead must be able to edit TeamCluster1 (resize it and change its libraries) and grant other
- You have an Azure Databricks workspace on the Premium plan that is enabled for Unity Catalog. A group of data scientists named dsteam1 must be able to self-provision their own all-purpose compute for
- You have an Azure Databricks workspace on the Premium plan. A group of data engineers must be able to create their own all-purpose compute for development, but you need to ensure that any compute they
- You have an Azure Databricks workspace that contains a production all-purpose cluster named ProdCluster1. An external orchestrator authenticates as a service principal named sp-orch and must run comma
- You have an Azure Databricks workspace on the Premium plan. A workspace admin has created a compute policy named Analyst-Policy that enforces approved cluster settings. A group of analysts named analy
- You have an Azure Databricks workspace on the Premium plan that contains a production all-purpose compute resource named StreamProd1 running on standard access mode. A platform reliability group named
- You have an Azure Databricks workspace named Workspace1 that contains an all-purpose compute resource named Cluster1 used by a data engineering team. You need to allow an on-call operations group name
- You have an Azure Databricks workspace that contains an all-purpose compute resource named Cluster2. A senior engineer reports that they can attach notebooks to Cluster2 and restart it but cannot edit
- You have an Azure Databricks workspace on the Premium plan. A data engineering team must be able to create only job compute (not all-purpose compute) on a Long Term Support Databricks Runtime, and eac
- You have an Azure Databricks workspace that contains an all-purpose cluster named OpsCluster1 used by a support team. A group of on-call engineers named oncall1 must be able to start, stop, and restar
- You have an Azure Databricks workspace on the Premium plan. Business analysts must be allowed to create their own all-purpose clusters, but only with an approved node type, a Long Term Support Databri
- You have an Azure Databricks workspace enabled for Unity Catalog that contains an all-purpose cluster named DevCluster1. A group of data analysts named analysts1 must attach notebooks to DevCluster1,
- Access mode (standard vs dedicated) sets sharing and Unity Catalog support
A cluster's access mode determines sharing: standard access mode supports multiple concurrent users with full Unity Catalog governance, while dedicated access mode is assigned to a single user or group; both are Unity Catalog-enabled.
Trap The legacy No Isolation Shared access mode is not Unity Catalog-enabled.
6 questions test this
- You have an Azure Databricks workspace on the Premium plan. A data engineering team must be able to create only job compute (not all-purpose compute) on a Long Term Support Databricks Runtime, and eac
- You have an Azure Databricks workspace on the Premium plan that is enabled for Unity Catalog. A group of data scientists named dsteam1 must be able to self-provision their own all-purpose compute for
- You have an Azure Databricks workspace that contains an all-purpose cluster using the legacy No Isolation Shared access mode. The cluster is shared concurrently by several analysts, and all of them mu
- You have an Azure Databricks workspace enabled for Unity Catalog. An Azure Databricks group named team_ds needs an all-purpose cluster that only its members can use, running Databricks Runtime for Mac
- You have an Azure Databricks workspace on the Premium plan. A data engineering team must be able to create only job compute (not all-purpose compute) on a Long Term Support Databricks Runtime, and eac
- You have an Azure Databricks workspace enabled for Unity Catalog. A single data scientist needs a personal compute resource to run RDD-based Spark code and the Databricks Runtime for Machine Learning,
- Creating compute requires the cluster-creation entitlement
A user can create all-purpose compute only if granted the unrestricted or policy-scoped cluster-creation entitlement; without it they can merely attach to existing compute they have been given access to.
- Cluster policies constrain what compute a user can create
A cluster (compute) policy is an admin-defined rule set that limits the compute a user may create or configure - allowed node types and Databricks Runtime versions, enforced auto-termination, maximum workers or DBU caps, and mandatory tags. Granting a user a policy scopes their cluster-creation entitlement to compute that complies with it, enforcing cost control and standards.
Trap A cluster policy governs the compute a user may CREATE (its configuration limits); that is different from a cluster ACL that grants Can Attach/Can Manage on an already-existing cluster.
15 questions test this
- You have an Azure Databricks workspace that contains an all-purpose compute resource named TeamCluster. A team lead who is not a workspace admin must be able to grant and revoke other users' permissio
- You have an Azure Databricks workspace on the Premium plan. A data engineering team must be able to create only job compute (not all-purpose compute) on a Long Term Support Databricks Runtime, and eac
- You have an Azure Databricks workspace that contains a shared all-purpose cluster named TeamCluster1. A team lead must be able to edit TeamCluster1 (resize it and change its libraries) and grant other
- You have an Azure Databricks workspace on the Premium plan that is enabled for Unity Catalog. A group of data scientists named dsteam1 must be able to self-provision their own all-purpose compute for
- You have an Azure Databricks workspace on the Premium plan. A group of data engineers must be able to create their own all-purpose compute for development, but you need to ensure that any compute they
- You have an Azure Databricks workspace that contains a production all-purpose cluster named ProdCluster1. An external orchestrator authenticates as a service principal named sp-orch and must run comma
- You have an Azure Databricks workspace on the Premium plan. A workspace admin has created a compute policy named Analyst-Policy that enforces approved cluster settings. A group of analysts named analy
- You have an Azure Databricks workspace enabled for Unity Catalog. An Azure Databricks group named team_ds needs an all-purpose cluster that only its members can use, running Databricks Runtime for Mac
- You have an Azure Databricks workspace on the Premium plan that contains a production all-purpose compute resource named StreamProd1 running on standard access mode. A platform reliability group named
- You have an Azure Databricks workspace that contains an all-purpose compute resource named Cluster2. A senior engineer reports that they can attach notebooks to Cluster2 and restart it but cannot edit
- You have an Azure Databricks workspace on the Premium plan. A data engineering team must be able to create only job compute (not all-purpose compute) on a Long Term Support Databricks Runtime, and eac
- You have an Azure Databricks workspace that contains an all-purpose cluster named OpsCluster1 used by a support team. A group of on-call engineers named oncall1 must be able to start, stop, and restar
- You have an Azure Databricks workspace on the Premium plan. Business analysts must be allowed to create their own all-purpose clusters, but only with an approved node type, a Long Term Support Databri
- You have an Azure Databricks workspace enabled for Unity Catalog that contains an all-purpose cluster named DevCluster1. A group of data analysts named analysts1 must attach notebooks to DevCluster1,
- You have an Azure Databricks workspace on the Premium plan. You want to let a group create their own all-purpose compute through self-service while ensuring that every cluster they create uses a long-
- The Azure Databricks disk cache stores copies of remote Parquet files as local files on the worker's SSD, so a repeatedly re-read data set is served by choosing a worker type with local SSD volumes rather than by adding memory
Disk caching copies remote Parquet data files (including Delta Lake tables) into the worker node's local storage on the first read, automatically and with no code change, and later reads of the same files are served locally. The cache is stored as local files on the worker node and is enabled and configured by default on worker types that ship with SSD volumes, using a bounded share of that local SSD space. This is a different mechanism from the Apache Spark cache, which holds in-memory blocks, must be triggered manually in code, and is not what an analytical or ML workload that repeatedly rescans the same tables relies on; in SQL warehouses and on current Databricks Runtimes the CACHE SELECT command is ignored in favor of the automatic disk cache.
Trap Believing the disk cache is an in-memory cache, and therefore selecting a memory-optimized worker type (or running CACHE SELECT / .persist() to prime it) so that a repeatedly re-read data set is cached - when the disk cache is written to the worker's local SSD, is populated automatically on first read, and is only enabled by default on SSD-backed worker types.
- The driver node type defaults to the worker node type and must be enlarged separately for driver-side load, because neither more workers nor a higher autoscaling maximum adds driver capacity
In classic compute the driver runs the Spark master, interprets every command, and holds the state of all notebooks attached to the resource, so its instance type is a separate decision from the worker type even though it defaults to the same value. Databricks tells you to pick a larger driver type with more memory when the workload collects a lot of data back from the executors for analysis in the notebook, or when many notebooks stay attached. Autoscaling min and max settings govern worker nodes only, so driver-side pressure is resolved by changing the driver type (or detaching unused notebooks), not by resizing the worker fleet.
Trap Treating a driver out-of-memory failure during a large collect() as a cluster-capacity problem and fixing it by adding workers or raising the autoscaling maximum - the collected result lands on the driver, and worker count and autoscaling bounds never change the driver's instance type or memory.
- Classic and pro SQL warehouses admit a fixed number of concurrent queries per cluster, a ratio a larger cluster size does not raise
For classic and pro SQL warehouses the concurrency model fixes how many concurrent queries one cluster admits, so a single cluster takes at most that many at once and everything beyond it waits in a bounded queue. Raising the t-shirt cluster size buys a bigger driver and more workers for each individual query but leaves that per-cluster admission limit untouched, so serving more simultaneous users means raising the maximum number of clusters and letting the warehouse scale out horizontally. A serverless warehouse instead has its workload manager add and release clusters itself as queue wait moves, within the maximum you configure.
Trap Assuming per-cluster query concurrency scales with the cluster size - expecting a bigger t-shirt size to run more simultaneous queries - and answering a growing-user-count problem by sizing up instead of raising the maximum cluster count.
- Bytes spilled to disk in the query profile calls for a larger warehouse cluster size, while a persistently non-zero Peak Queued Queries metric calls for more clusters
The two right-sizing signals for a SQL warehouse point at two different settings. Spill reported as Bytes spilled to disk in a query's profile means one query exceeded the memory of the cluster it ran on, and the documented remedy is to increase the cluster size. Peak Queued Queries staying above zero on the warehouse monitoring page means demand exceeds admitted capacity, and the remedy for concurrent load is a higher maximum cluster count; for serverless warehouses Intelligent Workload Management then provisions those extra clusters automatically as queue wait grows.
Trap Reading spill to disk as a capacity shortage and raising the maximum cluster count to fix it - extra clusters only add parallel query slots and give the spilling query no additional memory, because a single query still executes on one cluster.
- A shuffle- and memory-heavy transformation that spills is addressed by moving the workers to a memory-optimized instance family, not by adding more workers of the same type.
Wide transformations such as large joins and aggregations hold shuffle data and cached DataFrames in executor memory, and when a node's memory-to-core ratio is too low the stage spills and slows. A memory-optimized worker family raises the memory available per core so those partitions fit, whereas adding nodes of the same type raises total capacity while leaving the per-executor ratio, and therefore the spilling, unchanged.
Trap That a spilling job is fixed by raising the worker count or the autoscaling maximum, on the reasoning that more nodes means more total memory.
2 questions test this
- You have an Azure Databricks workspace that runs a Lakeflow Spark Declarative Pipelines (SDP) pipeline on classic compute. A silver-to-gold flow unions and joins several large Delta tables, and the ru
- You have an Azure Databricks workspace that runs a nightly ETL job on classic jobs compute. The job joins four large Delta tables and then aggregates the result. The Spark UI shows heavy shuffle spill
- A CPU-bound workload with little shuffle or caching belongs on a compute-optimized worker family, which supplies the cores it needs without paying for memory it will not use.
Work dominated by decoding, parsing, or per-record computation, including many streaming jobs that keep only small state, is limited by cores rather than by memory. A compute-optimized family delivers the most CPU per unit of cost for that profile, while a memory-optimized family chosen for the same core count buys memory the job never touches.
Trap That a memory-optimized family is the safe default for every Spark workload because Spark is an in-memory engine.
All-purpose compute hosts one interpreter and its session state per attached notebook on the driver, and collected results and broadcast tables are assembled there as well, so a cluster shared by many analysts is constrained on the driver long before the workers are. The lever is the driver's instance family, chosen independently of the workers': extra cores on a compute-optimized driver do not hold more state, and a job cluster running a single automated task rarely needs the same treatment.
Trap That the driver should simply mirror whatever family the workers use, so a cluster shared by many notebooks is tuned by changing the worker type instead.
- Serverless notebook and job compute is configured through its environment, an environment version plus declared dependencies, rather than by selecting a Databricks Runtime, attaching a cluster-scoped library, or running an init script.
A serverless workload exposes no cluster specification to edit, so its client image and library baseline come from the serverless environment version that is selected, and extra packages are declared as dependencies of that environment. Where many notebooks and jobs must share one dependency set, a workspace base environment defines it once and is referenced by each workload rather than being installed again per notebook.
Trap That libraries and engine version are pinned on serverless the same way as on classic compute, by choosing a runtime version and attaching cluster-scoped libraries.
2 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. Five data engineering teams run serverless notebooks and serverless Python wheel tasks that all require the same set of versio
- Contoso, Inc. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A data engineering team currently runs its transformation notebooks on classic all-purpose compute,
- Serverless performance mode is a latency-for-cost lever: performance-optimized buys faster start-up and execution at a higher rate, while standard performance is the cheaper setting for latency-tolerant work.
Both modes run the same code and differ in how aggressively capacity is provisioned for the workload. Interactive notebooks and short user-facing jobs are the case for performance-optimized, while scheduled batch work that nobody is waiting on belongs in standard performance mode so the saving is taken where the delay costs nothing.
Trap That standard performance mode is a smaller machine that risks failing the job, or that performance mode governs how many concurrent workloads are admitted rather than latency and price.
- A stated requirement that serverless does not support, such as a custom init script, a specific node type, spot capacity, or an instance pool, is answered by moving the workload to classic compute rather than by tuning serverless.
Serverless hides the cluster, so every setting that names infrastructure is unavailable by design and cannot be reintroduced through the environment. When a scenario fixes such a requirement the correct answer is classic compute, job compute for scheduled runs and all-purpose for interactive work; when it fixes only outcomes such as immediate start, no idle capacity, and no cluster administration, serverless is the answer.
Trap That any serverless limitation can be worked around inside serverless, for example by supplying an init script or requesting a node type through the environment.
2 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A finance team must run an hourly Python wheel task that transforms Delta tables. None of the team members have cluster creati
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A nightly ingestion workload must run a shell init script that installs a proprietary native library and registers a custom Sp
- Warehouse type is the lever for start-up latency and management model: a serverless warehouse becomes available in seconds on Databricks-managed capacity, while pro and classic warehouses run in the customer's own cloud account and take minutes to start.
A dashboard that must not wait on a cold warehouse, or a bursty pattern where capacity should disappear between peaks, is answered by choosing the serverless type, not by enlarging a pro warehouse. Pro is the type to keep when the compute must remain inside the customer's cloud account, and classic is the entry-level type that lacks the newer performance capabilities.
Trap That cold-start delay on a pro or classic warehouse is removed by a larger cluster size or a longer auto-stop timeout.
2 questions test this
- Fabrikam, Inc. has an Azure Databricks workspace that is enabled for Unity Catalog and queries an on-premises Microsoft SQL Server database through Lakehouse Federation. The federated queries are serv
- Contoso, Inc. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. An AI/BI dashboard named Dashboard1 is opened by executives a few times per day at unpredictable tim
- Intelligent Workload Management is a serverless SQL warehouse capability that admits and routes queries by predicted cost, so a mixed workload of small and large queries queues differently there than on pro or classic.
On a serverless warehouse, incoming queries are scheduled against their predicted resource needs and capacity is brought up ahead of a growing queue, so short dashboard queries are not simply trapped behind a long ad-hoc scan. Pro and classic warehouses have no equivalent management, which is why queuing on those types is addressed by adding clusters, and why moving the workload to serverless can resolve it outright.
Trap That Intelligent Workload Management can be switched on for a pro warehouse, or that it removes the need to set a maximum cluster count on serverless.
- The minimum cluster count is what holds warm capacity ready for a predictable peak, while the maximum only permits growth after queries have already started queuing.
Scale-out reacts to observed queuing, so a warehouse that idles overnight and is hit by the whole analyst team at the start of the business day still makes the first users wait however high the maximum is set. Raising the minimum keeps clusters running through the quiet period at a real cost, which is the trade to state explicitly; the maximum remains only the ceiling on how far a busy warehouse may grow.
Trap That raising the maximum cluster count removes the first-thing-in-the-morning latency spike, or that the minimum is purely a cost control with no effect on responsiveness.
2 questions test this
- You manage a pro SQL warehouse sized Medium in an Azure Databricks workspace. Scaling is set to a minimum of two clusters and a maximum of two, and Auto Stop is 45 minutes. The warehouse serves a Data
- Litware, Inc. runs Databricks SQL dashboards on a pro SQL warehouse sized Medium in an Azure Databricks workspace. Auto Stop is turned off, so the warehouse runs continuously, and Scaling is set to a
- A cluster-scoped init script must live in a Unity Catalog volume, a workspace file, or cloud object storage, and on standard access mode its source must also be allowlisted before the cluster will start.
Init scripts held in DBFS and the legacy global and cluster-named locations are no longer supported, so a Unity Catalog volume is the durable place to keep them. On standard access mode a metastore administrator must add that source to the allowlist as well; without it the cluster fails to start even though the script itself is correct and the user can read the file.
Trap That an init script kept in DBFS still runs, or that read access to the script's location is by itself enough for a standard-access-mode cluster to execute it.
2 questions test this
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog and contains a catalog named catalog1. Workspace1 contains an ingestion cluster that uses standard access mode
- You have an Azure Databricks workspace that is attached to a Unity Catalog metastore named metastore1. A cluster-scoped init script is stored in a Unity Catalog volume, and the cluster owner holds the
- Node-level operating-system setup belongs in a cluster-scoped init script, engine behavior belongs in a Spark configuration property, and a value a process must read from its own environment belongs in an environment variable.
An init script runs on every node as it joins the cluster, including nodes added later by autoscaling, which is what makes it the mechanism for installing an operating-system package or agent; a shell command typed into a notebook reaches only the driver at that moment and is absent from every node added afterwards. Spark configuration properties change how the engine executes the workload, while environment variables expose values to the driver and executor processes and to the init script itself.
Trap That a shell command run once from a notebook applies to the whole cluster, including the nodes autoscaling adds later.
2 questions test this
- You have an Azure Databricks workspace that contains an ingestion cluster running Databricks Runtime 16.4 LTS. A cluster-scoped init script on the cluster must read a deployment tier value as each nod
- You have an Azure Databricks workspace that contains an all-purpose cluster with autoscaling enabled. A data engineer installs an operating-system-level monitoring agent on the cluster by running a sh
- A credential supplied through a Spark configuration property or an environment variable must be given as a reference to a secret scope, never as a literal value.
A secret reference is resolved when the compute starts and the value is redacted wherever the configuration is displayed or logged, so the credential never sits in the cluster definition, a policy, or an exported configuration. A key pasted in literally is readable by anyone who can view that compute configuration, which is why the secret scope is the required answer even though the literal value would work.
Trap That a Spark configuration property is private to the cluster, so a literal key is acceptable as long as only the team can attach to that compute.
2 questions test this
- You are configuring an ingestion cluster that needs a storage credential in a Spark configuration property. No one who can view the compute configuration may be able to read the credential in plaintex
- You have an Azure Databricks workspace. A cluster must authenticate to an Azure Data Lake Storage account by using a Microsoft Entra ID service principal, so the service principal's client secret has
- The cost-saving capacity model for classic compute is spot workers with an on-demand driver, because a reclaimed worker's tasks are retried elsewhere while losing the driver ends the entire run.
The driver holds the application state and coordinates every executor, so its eviction terminates the cluster and whatever was running on it, whereas a reclaimed spot worker costs only the work in flight on that node. Configuring the driver as on-demand and letting the workers take spot capacity is what makes a cluster cheaper without making it unable to finish.
Trap That placing every node including the driver on spot capacity simply maximizes the discount, since Spark recovers from any node it loses.
3 questions test this
- Fabrikam, Inc. has an Azure Databricks workspace named Workspace1. A nightly classic job compute resource runs a three-hour Delta ingestion job and is backed by an instance pool that was created with
- You have an Azure Databricks workspace that is deployed in the default Azure Databricks-managed virtual network. You are configuring classic job compute for a nightly Delta ingestion job. The solution
- You have an Azure Databricks workspace named Workspace1. A nightly classic job compute resource runs a restartable ingestion batch that normally finishes well inside its delivery window. The solution
- Spot capacity is chosen for interruption-tolerant work such as development, exploration, and restartable batch, and rejected for a deadline-bound run whose lost progress would cost more than the discount.
An eviction forces Spark to recompute the work that node was doing, and on a long shuffle-heavy stage that recomputation can outweigh the hourly saving and push the job past its window. A production run under a delivery commitment therefore belongs on on-demand capacity, or on spot configured to fall back to on-demand so the cluster still acquires nodes when spot capacity is withdrawn.
Trap That spot is always the cheaper choice because its hourly rate is lower, whatever the length or deadline of the job.
2 questions test this
- Contoso, Ltd. runs two classic compute workloads in one Azure Databricks workspace: an exploratory cluster that data scientists start and restart freely during the day, and a nightly regulatory report
- You have an Azure Databricks workspace named Workspace1. A nightly classic job compute resource runs a restartable ingestion batch that normally finishes well inside its delivery window. The solution
- Clusters that repeatedly fail to launch or scale in a capacity-constrained region are answered by enabling flexible node types, which lets Databricks substitute a comparable instance size instead of waiting for the one requested.
Pinning a single instance type ties the cluster's availability to that type's spare capacity in the region, so launches and autoscaling attempts fail while similar families sit free. Flexible node types allow an equivalent alternative to be used automatically, and that availability lever is what a launch-failure scenario is testing.
Trap That a cluster failing to launch in a busy region needs a larger node type, a higher autoscaling maximum, or an instance pool built from that same pinned instance type.
Create and Organize Objects in Unity Catalog
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Unity Catalog addresses data as catalog.schema.object
Unity Catalog organizes every data object in a three-level namespace of catalog.schema.object (tables, views, volumes, functions, and models), replacing the legacy two-level hive_metastore.schema.table layout.
5 questions test this
- You have an Azure Databricks workspace attached to a Unity Catalog metastore named metastore1. Legacy pipelines still reference their tables with the three-level legacy pattern hive_metastore.schema.t
- You have two Unity Catalog catalogs named dev and prod that contain identically named schemas and tables. A notebook currently reads a table using the two-level reference sales.orders, and depending o
- You have an Azure Databricks workspace enabled for Unity Catalog. A project team needs a set of managed Delta tables, several views, a volume for raw ingestion files, a SQL UDF, and a registered ML mo
- In the prod catalog you must create two tables that both need to be named customers: one owned by the sales domain and one owned by the marketing domain. Both tables must coexist without a naming coll
- You have an Azure Databricks workspace enabled for Unity Catalog and attached to a shared metastore. A curated lookup table is registered as reference.geo.regions in a shared catalog, and daily sales
- Use a separate catalog per environment for data isolation
The catalog is the primary unit of data isolation in Unity Catalog, so a common naming convention creates a distinct catalog per environment (for example dev, test, and prod) to segregate data and permissions.
Trap Separating environments only by schema inside one shared catalog weakens the isolation boundary.
6 questions test this
- A retailer stores highly sensitive customer PII alongside non-customer reference data in one Unity Catalog metastore. Compliance requires that the sensitive customer data be isolated from the rest of
- Contoso, Inc. has a single Unity Catalog metastore that is shared by three Azure Databricks workspaces belonging to its development, test, and production teams. The design must meet the following requ
- You have two Unity Catalog catalogs named dev and prod that contain identically named schemas and tables. A notebook currently reads a table using the two-level reference sales.orders, and depending o
- Wide World Importers has one Azure Databricks account with a single Unity Catalog metastore in the West Europe region, shared by its development, test, and production workspaces. All lakehouse data si
- You are defining the naming and isolation convention for a new Azure Databricks lakehouse that will host development, test, and production data in one Unity Catalog metastore. The design must ensure t
- You maintain ETL notebooks that must be promoted unchanged from dev to test to prod in Unity Catalog. The solution must ensure that: the same schema and table names exist in every environment so the c
- Bind a catalog to specific workspaces to restrict its access
Workspace-catalog binding restricts a catalog so it is accessible only from designated workspaces, enforcing environment isolation and controlled external sharing across a metastore shared by several workspaces.
5 questions test this
- You have a Unity Catalog metastore shared by several workspaces. A catalog named reference_catalog holds curated lookup tables. The solution must ensure that: analysts in every workspace can read refe
- A single Unity Catalog metastore is shared by a finance workspace and a sales workspace. The solution must ensure that: finance_catalog is not discoverable or queryable from the sales workspace, so th
- Trey Research has one Unity Catalog metastore that is attached to two production workspaces and one development workspace. A catalog named underwriting_prod holds regulated policy data. A group of dat
- You have a Unity Catalog metastore shared by several workspaces. A catalog named reference_catalog holds curated lookup tables. The solution must ensure that: analysts in every workspace can read refe
- You have a Unity Catalog metastore shared by an analytics workspace and a data-science workspace. You create a new catalog named ml_features that must remain reachable only from the data-science works
- CREATE CATALOG makes a top-level container in the metastore
CREATE CATALOG creates the top-level container within the metastore; an optional MANAGED LOCATION sets where its managed tables and volumes store data, otherwise they inherit managed storage from the metastore.
Trap CREATE CATALOG builds a catalog, not a schema; a contained schema needs CREATE SCHEMA catalog.schema.
9 questions test this
- A data engineer on your team was asked to provision a new, independent top-level container in an existing Unity Catalog metastore named metastore1 to hold all of the Marketing department's schemas and
- You have a Unity Catalog catalog named ops that was created with MANAGED LOCATION 'abfss://ops@lake.dfs.core.windows.net/ops'. Inside ops, a data engineer creates a schema named audit without specifyi
- Your Unity Catalog metastore has a metastore-level managed storage location that all existing catalogs use by default. A new regulated catalog named hr must keep its managed tables and volumes in a de
- You have an Azure Databricks workspace enabled for Unity Catalog. You run CREATE CATALOG finance MANAGED LOCATION 'abfss://data@contoso.dfs.core.windows.net/finance'; and it is rejected even though th
- You have two Azure Databricks workspaces named Workspace1 and Workspace2 that are both attached to the same Unity Catalog metastore named metastore1. A new analytics program must be governed as a sing
- You have an Azure Databricks workspace whose Unity Catalog metastore was configured with a metastore-level managed storage location. A data engineer runs CREATE CATALOG reporting without specifying a
- You have an Azure Databricks workspace attached to a Unity Catalog metastore named metastore1. metastore1 does not yet contain a catalog named lakehouse. You need to create a schema named bronze that
- You have an Azure Databricks workspace that was in service before it was enabled for Unity Catalog, so it still exposes a legacy per-workspace Hive metastore as the hive_metastore catalog. A regulated
- Fabrikam wants to separate its production and development lakehouse data on a single Unity Catalog metastore so that: production and development managed tables are stored in different cloud storage lo
- Creating a catalog requires the CREATE CATALOG metastore privilege
Only a metastore admin or a principal granted the CREATE CATALOG privilege on the metastore can create a catalog, and the creator becomes its owner with full control over the new object.
- Set a schema's storage with MANAGED LOCATION, not LOCATION, in Unity Catalog
CREATE SCHEMA catalog.schema MANAGED LOCATION '' sets a schema's managed storage in Unity Catalog; the LOCATION clause is a Hive-metastore-only syntax and is rejected for Unity Catalog schemas.
Trap LOCATION is not supported for a Unity Catalog schema; use MANAGED LOCATION instead.
6 questions test this
- You have an Azure Databricks workspace attached to a Unity Catalog metastore that contains a catalog named analytics. A data engineer runs CREATE SCHEMA analytics.bronze LOCATION 'abfss://lake@adls1.d
- You have an Azure Databricks workspace attached to a Unity Catalog metastore that contains a catalog named analytics. A data engineer runs CREATE SCHEMA analytics.bronze LOCATION 'abfss://lake@adls1.d
- You have an Azure Databricks workspace attached to a Unity Catalog metastore that contains a catalog named analytics. A data engineer runs CREATE SCHEMA analytics.bronze LOCATION 'abfss://lake@adls1.d
- You are creating a schema in Unity Catalog and need to give it a schema-specific cloud storage root for its managed tables and managed volumes. Which type of location should you specify for the schema
- You have an Azure Databricks workspace enabled for Unity Catalog. You create a schema named archive inside a catalog named cold_store without specifying any storage clause. The managed tables you late
- You have an Azure Databricks workspace that is enabled for Unity Catalog and runs Databricks Runtime 18.1. A schema named billing_ops.retention was created with no storage clause, so its managed table
- A schema is created two-level as catalog.schema
A schema (database) groups tables, views, and volumes and must be created inside a catalog with the two-level name catalog.schema; it cannot be created as a top-level object.
7 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A schema named sales_curated contains a table named orders, but the session's current catalog is not the catalog that contains
- You have an Azure Databricks workspace that is enabled for Unity Catalog with a catalog named prod. Three teams must each get their own logical grouping of tables and views inside prod, and you must b
- You have a Unity Catalog metastore that contains a catalog named ops. You need to create a schema named telemetry that is contained in ops and will group streaming Delta tables, views, and volumes for
- You have an Azure Databricks workspace that is enabled for Unity Catalog. The metastore contains an enterprise catalog named corp that all business domains share. You need to organize each domain's De
- You have an Azure Databricks workspace that is enabled for Unity Catalog and a catalog named enterprise already exists. You need a single logical container inside enterprise that groups a project's re
- You have an Azure Databricks workspace that is enabled for Unity Catalog. The metastore, named metastore_main, contains a catalog named prod_analytics. You are writing a deployment notebook that must
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A schema named sales_curated contains a table named orders, but the session's current catalog is not the catalog that contains
- MANAGED LOCATION requires CREATE MANAGED STORAGE on an external location
Setting a schema's MANAGED LOCATION requires the CREATE MANAGED STORAGE privilege on the external location that covers the path; without an explicit managed location the schema inherits managed storage from its catalog or the metastore.
- Volumes are Unity Catalog objects that govern non-tabular files
A volume is a Unity Catalog object under a schema that governs access to non-tabular data such as images, CSV files, and model artifacts, accessed through the path /Volumes/catalog/schema/volume.
8 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog with a catalog named analytics and a schema named staging that already has a managed storage location. A data engineering team
- You have an Azure Databricks workspace that is enabled for Unity Catalog. An upstream system drops raw JSON files that an Auto Loader pipeline must ingest. You need a governed landing area for the raw
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A partner analytics application that runs outside Databricks continuously writes sensor readings as Parquet and image files in
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A team has uploaded CSV files to a Unity Catalog volume. They now need to: query the data as governed tabular rows; apply colu
- You have an Azure Databricks workspace enabled for Unity Catalog. A schema named raw contains a managed volume named landing that holds CSV and image files. Data engineers working in SQL, Python, and
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a catalog named ml_prod with a schema named vision. A computer-vision team must store and govern large numbers of
- You have an Azure Databricks workspace enabled for Unity Catalog. A directory of shared reference files (lookup CSVs and reference images) must be exposed so that specific groups receive read-only acc
- You have an Azure Databricks workspace that is enabled for Unity Catalog. Your notebooks currently read raw CSV and image files through a legacy DBFS mount that Unity Catalog does not govern. You need
- Managed volumes use Unity Catalog storage; external volumes point at a location
A managed volume stores its files in the schema's managed storage and is fully lifecycle-managed by Unity Catalog, whereas an external volume registers an existing path under an external location for data that Databricks does not own.
Trap Dropping a managed volume deletes its files; dropping an external volume leaves the files in place.
5 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog with a catalog named analytics and a schema named staging that already has a managed storage location. A data engineering team
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A partner analytics application that runs outside Databricks continuously writes sensor readings as Parquet and image files in
- You have an Azure Databricks workspace enabled for Unity Catalog. You must register Unity Catalog governance over a set of audit files that another team owns in cloud storage. A strict requirement is
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a catalog named ml_prod with a schema named vision. A computer-vision team must store and govern large numbers of
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A schema contains a managed volume named raw_managed and an external volume named raw_external that is registered on an ADLS G
- A view is a stored read-only query that materializes no data
A view is a saved SELECT query that is evaluated each time it is read; it stores no data of its own and can restrict or reshape the columns exposed from its base tables.
17 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. Analysts repeatedly write the same join of three Delta tables (customers, orders, and regions) with renamed and derived columns. You n
- You have an Azure Databricks workspace enabled for Unity Catalog. Analysts repeatedly write the same join of three Delta tables (customers, orders, and regions) with renamed and derived columns. You n
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A view named Sales_Summary is defined over a managed Delta table named Sales1. A nightly job fails with an error when it attem
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A data engineer maintains a daily sales summary by running a nightly job that fully recomputes and overwrites a managed Delta
- A data engineering team needs to publish a reusable, read-only query over several Unity Catalog tables. Users in different notebooks must always see the current query result, and the object must not c
- You have an Azure Databricks workspace that is enabled for Unity Catalog. You need a gold dataset that joins a fact table to a slowly changing dimension table and that: is reused by several BI dashboa
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Power BI dashboard repeatedly runs the same expensive aggregation over a large gold Delta table named Sales_Gold. You need a
- You have an Azure Databricks workspace enabled for Unity Catalog. A very large managed Delta table named ledger is queried by a reconciliation report only a few times per month, and each run must refl
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a Delta table named Employees with a salary column. You need a single object that all analysts query, where member
- You have an Azure Databricks workspace enabled for Unity Catalog. A data engineer defined a standard view named daily_sales_summary over a large Delta table to feed an analytics dashboard. Users repor
- You have an Azure Databricks workspace enabled for Unity Catalog. The catalog1.hr schema contains a managed Delta table named Employees with columns employee_id, full_name, department, salary, and ssn
- Contoso, Inc. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A managed Delta table named Orders in catalog1.sales holds billions of rows and receives new orders
- You have an Azure Databricks workspace enabled for Unity Catalog. An engineer created a materialized view named customer_contacts to expose a subset of columns from a Delta table for a compliance team
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A notebook defines a temporary view named Curated that reshapes columns from a base Delta table. A separate team's job in anot
- You have an Azure Databricks workspace enabled for Unity Catalog with a Pro SQL warehouse. You need a Unity Catalog object that: stores the precomputed results of a complex aggregation query so repeat
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named web_events is continuously appended by an ingestion pipeline. You need a Unity Catalog object that: presen
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A heavy aggregation over a large gold Delta table named Web_Events is queried thousands of times per day by dashboards, while
- A materialized view stores precomputed results refreshed incrementally
A materialized view precomputes and stores query results and refreshes them incrementally through a Lakeflow declarative pipeline on serverless compute, speeding repeated reads at the cost of storage and scheduled refresh.
Trap A materialized view stores data and must be refreshed; a standard view does neither.
15 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. You maintain a materialized view named Daily_Revenue that aggregates a large managed Delta table with row tracking enabled. Yo
- You have an Azure Databricks workspace enabled for Unity Catalog. Analysts repeatedly write the same join of three Delta tables (customers, orders, and regions) with renamed and derived columns. You n
- You have an Azure Databricks workspace enabled for Unity Catalog. Analysts repeatedly write the same join of three Delta tables (customers, orders, and regions) with renamed and derived columns. You n
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A data engineer maintains a daily sales summary by running a nightly job that fully recomputes and overwrites a managed Delta
- You have an Azure Databricks workspace that is enabled for Unity Catalog. You need a gold dataset that joins a fact table to a slowly changing dimension table and that: is reused by several BI dashboa
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Power BI dashboard repeatedly runs the same expensive aggregation over a large gold Delta table named Sales_Gold. You need a
- You have an Azure Databricks workspace enabled for Unity Catalog. A very large managed Delta table named ledger is queried by a reconciliation report only a few times per month, and each run must refl
- You have an Azure Databricks workspace enabled for Unity Catalog. A data engineer defined a standard view named daily_sales_summary over a large Delta table to feed an analytics dashboard. Users repor
- You have an Azure Databricks workspace enabled for Unity Catalog. The catalog1.hr schema contains a managed Delta table named Employees with columns employee_id, full_name, department, salary, and ssn
- Contoso, Inc. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A managed Delta table named Orders in catalog1.sales holds billions of rows and receives new orders
- You have an Azure Databricks workspace enabled for Unity Catalog. An engineer created a materialized view named customer_contacts to expose a subset of columns from a Delta table for a compliance team
- You have an Azure Databricks workspace that is enabled for Unity Catalog. You maintain a materialized view named Daily_Revenue that aggregates a large managed Delta table with row tracking enabled. Yo
- You have an Azure Databricks workspace enabled for Unity Catalog with a Pro SQL warehouse. You need a Unity Catalog object that: stores the precomputed results of a complex aggregation query so repeat
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named web_events is continuously appended by an ingestion pipeline. You need a Unity Catalog object that: presen
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A heavy aggregation over a large gold Delta table named Web_Events is queried thousands of times per day by dashboards, while
- A table persists data, defaulting to the Delta Lake format
A Unity Catalog table stores rows and columns using the Delta Lake format by default, and can be created empty, with CREATE TABLE AS SELECT (CTAS), or with CREATE OR REPLACE TABLE.
- Lakehouse Federation needs a connection first, then a foreign catalog
To federate an external database you first create a connection object that stores the server host and credentials, then create a foreign catalog that uses that connection to mirror the external database's schemas in Unity Catalog.
9 questions test this
- You are configuring Lakehouse Federation so that Azure Databricks can run federated queries against a Microsoft SQL Server database. Unity Catalog must be able to reach the SQL Server host and authent
- You have an Azure Databricks workspace enabled for Unity Catalog. A single PostgreSQL server hosts three separate databases named sales, hr, and ops. You need each database to appear as its own catalo
- You have an Azure Databricks workspace enabled for Unity Catalog. You must expose a live PostgreSQL database's tables in Unity Catalog and query them in place, without copying any data. A teammate pro
- You have a new Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. An operational Teradata system named tdprod hosts a database named Billing. Analysts must query Billing's
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. Your team runs an on-premises Teradata system named TeraWarehouse that hosts a production database named Anal
- You have an Azure Databricks workspace enabled for Unity Catalog. A single PostgreSQL server hosts three separate databases named sales, hr, and ops. You need each database to appear as its own catalo
- You are configuring Lakehouse Federation so that Azure Databricks can run federated queries against a Microsoft SQL Server database. Unity Catalog must be able to reach the SQL Server host and authent
- You manage Lakehouse Federation for an Azure Databricks workspace. Three foreign catalogs mirror three databases on a single Oracle server, all created from one connection named oracle_conn. The Oracl
- You have an Azure Databricks workspace enabled for Unity Catalog. A colleague has already created a Unity Catalog connection to an external MySQL database named Sales. You need to make the Sales schem
- Federated queries run in place with no data copy
A foreign catalog runs Lakehouse Federation queries directly against the source system so its schemas and tables appear alongside other Unity Catalog objects and are queried in place, with no data copied into Databricks-managed storage.
Trap An ingestion pipeline or a managed table would copy the data; only a foreign catalog queries the source in place.
10 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. You must expose a live PostgreSQL database's tables in Unity Catalog and query them in place, without copying any data. A teammate pro
- You have an Azure Databricks workspace enabled for Unity Catalog. A nightly Lakeflow ingestion pipeline copies an operational Microsoft SQL Server database named Orders into managed Delta tables so an
- You have an Azure Databricks workspace enabled for Unity Catalog. Data scientists need to query an external Oracle database from Databricks. The Oracle tables must be browsable in Catalog Explorer alo
- You have a new Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. An operational Teradata system named tdprod hosts a database named Billing. Analysts must query Billing's
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. Your team runs an on-premises Teradata system named TeraWarehouse that hosts a production database named Anal
- You have an Azure Databricks workspace enabled for Unity Catalog. Analysts must query a Snowflake database named Finance from Databricks. The solution must expose Finance in Unity Catalog, must not st
- You have an Azure Databricks workspace enabled for Unity Catalog. Data analysts must query an operational Oracle database named Inventory whose tables and columns change frequently as developers ship
- You have an Azure Databricks workspace enabled for Unity Catalog. A Power BI dashboard built on Databricks must always reflect the very latest rows in an operational Microsoft SQL Server database. The
- You have an Azure Databricks workspace enabled for Unity Catalog. For compliance reasons, the data from an external Azure Synapse (SQL Data Warehouse) database must never be copied into Databricks sto
- You have an Azure Databricks workspace enabled for Unity Catalog. A colleague has already created a Unity Catalog connection to an external MySQL database named Sales. You need to make the Sales schem
- Dropping a managed table deletes its underlying data
A managed table stores its data files in Unity Catalog managed storage, so DROP TABLE removes both the table metadata and the underlying data files.
Trap Dropping an external table removes only the metadata and leaves the files intact.
8 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A developer plans to run DROP TABLE on a managed Delta table named Archive to free the name, but the business still needs Archive's da
- A dataset in cloud object storage is shared by Azure Databricks and another analytics platform. Unity Catalog must govern Databricks access, but dropping the Databricks table definition must not delet
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Sales is an external Delta table defined with a LOCATION clause over abfss://data@contoso.dfs.core.windows.net/sales, an
- You have an Azure Databricks workspace enabled for Unity Catalog. A nightly ETL job creates dozens of intermediate tables and drops them again at the end of each run. You need the underlying data file
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A data governance policy requires that when a dataset is decommissioned by dropping its table, the underlying data files must
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A curated set of Delta files already exists at abfss://curated@contoso.dfs.core.windows.net/orders, which is
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog contains a managed Delta table named Orders and an external Delta table named ArchivedOrders, where ArchivedOrders w
- You have an Azure Databricks workspace enabled for Unity Catalog. A partner delivers a large, continuously updated dataset as Avro files in abfss://partner@contoso.dfs.core.windows.net/feed, registere
- An external table is defined with LOCATION and keeps its data on drop
An external table is created with a LOCATION clause pointing at a path under an external location, so Unity Catalog governs only its metadata and DROP TABLE leaves the underlying files untouched.
11 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A developer plans to run DROP TABLE on a managed Delta table named Archive to free the name, but the business still needs Archive's da
- You have an Azure Databricks workspace that is enabled for Unity Catalog. To reduce ADLS Gen2 storage costs, an engineer ran DROP TABLE on a large external table named archive.cold.logs that had been
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Sales is an external Delta table defined with a LOCATION clause over abfss://data@contoso.dfs.core.windows.net/sales, an
- You have an Azure Databricks workspace enabled for Unity Catalog. A nightly ETL job creates dozens of intermediate tables and drops them again at the end of each run. You need the underlying data file
- You have an Azure Databricks workspace enabled for Unity Catalog and an external location already registered for abfss://raw@contoso.dfs.core.windows.net/events. You are writing a CREATE TABLE stateme
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A data governance policy requires that when a dataset is decommissioned by dropping its table, the underlying data files must
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A curated Parquet dataset in an ADLS Gen2 container is written and owned by a separate Azure service, and that service must ke
- You have an Azure Databricks workspace that is enabled for Unity Catalog. An engineer runs CREATE TABLE ... LOCATION 'abfss://raw@adls.dfs.core.windows.net/events' to register existing files as an ext
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A curated set of Delta files already exists at abfss://curated@contoso.dfs.core.windows.net/orders, which is
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog contains a managed Delta table named Orders and an external Delta table named ArchivedOrders, where ArchivedOrders w
- You have an Azure Databricks workspace enabled for Unity Catalog. A partner delivers a large, continuously updated dataset as Avro files in abfss://partner@contoso.dfs.core.windows.net/feed, registere
- AI/BI Genie answers natural-language questions over a curated data set
An AI/BI Genie Agent (formerly called a Genie space) lets business users ask natural-language questions that Genie converts to SQL over a curated set of Unity Catalog tables, enabling self-service data discovery without writing queries.
10 questions test this
- Your team already publishes an AI/BI dashboard of monthly KPIs from a curated Unity Catalog schema. Business users keep emailing the analytics team ad hoc follow-up questions that the fixed dashboard
- A Genie Agent for the marketing team returns inaccurate answers. A colleague proposes giving Genie everything by adding every table in the metastore to the agent and removing the curated instructions,
- Sales leaders want to explore curated Unity Catalog sales data by asking follow-up business questions in natural language. They need Azure Databricks to generate the corresponding analytical queries a
- Proseware, Inc. has an Azure Databricks workspace that is enabled for Unity Catalog. Freight operations data lands each night as Parquet files in an ADLS Gen2 container that is registered in Unity Cat
- A Genie Agent for the marketing team returns inaccurate answers. A colleague proposes giving Genie everything by adding every table in the metastore to the agent and removing the curated instructions,
- You manage a Genie Agent that an accounts receivable team uses to explore a curated set of Unity Catalog tables. In the invoices table, the bill_country column stores ISO country codes such as NL and
- Contoso, Ltd. has an Azure Databricks workspace that is enabled for Unity Catalog and contains a catalog named sales_gold with a curated set of governed tables. The regional sales managers are busines
- Your team already publishes an AI/BI dashboard of monthly KPIs from a curated Unity Catalog schema. Business users keep emailing the analytics team ad hoc follow-up questions that the fixed dashboard
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named retail_sales contains curated Delta tables and views for weekly revenue, units sold, and returns by store and region.
- Finance users need to ask questions in natural language and receive query results from curated finance tables governed by Unity Catalog. The users should not have to write SQL themselves. Which Azure
- Genie instructions and example queries steer accurate answers
Configuring Genie general instructions, example SQL queries, and verified answers guides how Genie interprets domain terms and business logic, improving the accuracy of the answers it generates for data discovery.
Trap Genie relies on the curated tables plus its instructions, not on unrestricted access to the whole metastore.
10 questions test this
- A Genie Agent for the marketing team returns inaccurate answers. A colleague proposes giving Genie everything by adding every table in the metastore to the agent and removing the curated instructions,
- In your Genie Agent, questions that combine an orders table and a customers table often return wrong numbers because Genie joins the tables on the wrong columns. You need Genie to generate the correct
- Compliance requires that when business users ask your Genie Agent for the company's regulatory capital ratio, Genie must return an answer produced by logic that a data steward has already vetted, and
- You curate a Genie Agent for a sales team. When users ask about sales performance without specifying a time range or sales channel, you want Genie to pause and ask them to clarify those details before
- A Genie Agent for the marketing team returns inaccurate answers. A colleague proposes giving Genie everything by adding every table in the metastore to the agent and removing the curated instructions,
- In a Genie Agent, executives repeatedly ask for quarter-to-date bookings by segment, a high-visibility figure that must be computed with one specific, analyst-verified query every time. You need Genie
- In your Genie Agent, users often ask a broad, ambiguous prompt, give me a breakdown of team performance, and Genie returns inconsistent SQL because the phrase maps to a specific multi-step calculation
- You manage a Genie Agent in Azure Databricks that business analysts use to explore a curated set of sales tables. For several recurring questions, such as open pipeline by region, Genie generates SQL
- Finance users need to ask questions in natural language and receive query results from curated finance tables governed by Unity Catalog. The users should not have to write SQL themselves. Which Azure
- You manage a Genie Agent built on a curated set of Unity Catalog sales tables. Business users frequently ask about net revenue, but Genie calculates it inconsistently, sometimes subtracting returns an
- A streaming table refresh applies the current definition only to newly arrived rows, and an incompatible definition change fails the next refresh instead of converting history
A streaming table refresh evaluates only the rows that arrived after the last update and appends them, using the current definition for that new data alone: modifying a streaming table definition does not automatically recalculate existing data. Removing a filter does not reprocess previously filtered rows, changing column projections does not affect how existing data was processed, and a join with a static snapshot uses the snapshot state seen at the time of the initial processing, so late-arriving data that would have matched an updated snapshot is ignored and facts can be dropped when dimensions are late. If a modification is incompatible with existing data - modifying the CAST of an existing column is the documented example - the next refresh fails with an error rather than converting the stored rows.
Trap Expecting a routine refresh to reapply an edited definition to rows that were already processed - assuming that removing a filter backfills the rows it used to exclude, that a changed projection rewrites existing rows, or that widening an existing column's CAST is absorbed quietly instead of failing the refresh.
3 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a standalone streaming table named catalog1.silver.orders_clean. The table reads from the Delta table catalog1.bro
- You have an Azure Databricks workspace attached to a Unity Catalog metastore. A standalone streaming table named energy.silver.turbine_metrics has been appending turbine telemetry for four months. Its
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A streaming table named prod.silver.fact_shipments appends shipment events from Azure Event Hubs and uses a left outer join to
- A materialized view refreshes incrementally only when its query is incrementalizable and its Delta sources have row tracking enabled; otherwise the system recomputes the whole query
Each materialized view refresh resolves to one of two methods: an incremental refresh that identifies changes since the last update and merges only new or modified rows, or a full refresh that reruns the entire query and replaces the stored results. Incremental refresh is conditional - the source data has to sit in Delta tables with row tracking enabled (ALTER TABLE ... SET TBLPROPERTIES (delta.enableRowTracking = true)), and the query structure has to be incrementalizable, which EXPLAIN CREATE MATERIALIZED VIEW will tell you. By default Databricks applies a cost model and picks whichever method is cheaper for that refresh, and a REFRESH POLICY in the definition overrides that choice; recreating a source table drops row tracking and must be re-enabled.
Trap Assuming that because a materialized view stores precomputed results it always updates incrementally, and so expecting cheap incremental refreshes without enabling row tracking on the Delta sources or checking that the query can be incrementalized.
5 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A materialized view named sales.gold.daily_revenue aggregates the Delta table sales.silver.orders and is refreshed nightly on
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a materialized view named retail.gold.margin_by_store that is refreshed nightly on serverless compute. Its Delta s
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a materialized view named retail.gold.brand_revenue that refreshes nightly on a serverless pipeline. The view aggr
- You have an Azure Databricks materialized view named policy.gold.premium_by_region that refreshes on a serverless pipeline. It refreshed incrementally for months, but every scheduled update now fully
- A materialized view is refreshed by a serverless pipeline, but monitoring reports full recomputes. Its Delta sources already have the features needed for incremental refresh. Before changing the view,
- The comments on a Unity Catalog function and on its parameters are what tell Genie when to call it and what an argument should look like
Genie decides whether a registered function answers the question in front of it from the function's Unity Catalog metadata, not from its logic, because it cannot see inside the body it is calling. The COMMENT clause on the function is where you describe what the function does and therefore when it applies, and a COMMENT on each parameter is where you describe the value expected for it; Databricks documents precise comments as what lets a tool-calling agent know when and how to use a function, and a comment that only restates the function name is its example of ineffective documentation. Treat the comment as part of the trusted asset rather than as documentation: a function with a vague comment is registered, governed and reachable, and is still passed over in favour of generated SQL.
Trap Answering a function that Genie never calls by adding more general instruction text or another example query, when the metadata that decides selection - the function comment and its parameter comments - says nothing about when the function applies.
3 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. Several Genie Agents share the Unity Catalog SQL function billing.metrics.recovery_rate as a trusted asset. Last month the fin
- You have an Azure Databricks workspace that uses Unity Catalog. The SQL function sales.metrics.repeat_rate is a trusted asset in two Genie Agents, Agent1 and Agent2. Its comment reads 'Returns repeat_
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Genie Agent named SupplyAgent uses the Unity Catalog SQL function supply.metrics.fill_rate as a trusted asset. The function
- Genie can only call a registered Unity Catalog SQL function with user-supplied parameters - it cannot view or modify the function's SQL - and every user of the Genie Agent needs EXECUTE on that function
A SQL function is the trusted-asset shape for logic too complex for a static or parameterized example query: it lives in Unity Catalog, Genie invokes it with parameter values taken from the user's question, and Genie can neither read nor rewrite the SQL inside it, which is why it suits logic that must not be surfaced or altered. That opacity is also the access-control consequence: users of the Genie Agent must hold the EXECUTE privilege on any SQL function used as a trusted asset, so sharing the Genie Agent alone does not make the function usable. Registering the function once also lets the same certified definition be shared across teams rather than restated as instruction text in every Genie Agent.
Trap Assuming that granting a business user access to the Genie Agent is enough for them to get answers from a function-backed trusted asset, or that Genie will adapt the function's SQL to handle a related question - Genie needs an explicit EXECUTE grant on the function and treats its body as a black box it can only call.
3 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A senior analyst owns the Unity Catalog SQL function ops.metrics.backlog_age and holds EXECUTE on it, together with CAN RUN on
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Genie Agent named RevenueAgent uses the Unity Catalog SQL function sales.metrics.quota_attainment as a trusted asset. Sales
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Genie Agent named ClaimsAgent uses the Unity Catalog SQL function policy.metrics.loss_ratio as a trusted asset. The function
- A managed table or volume is written to the schema's managed storage location if the schema has one, otherwise the catalog's, otherwise the metastore's, so the lowest level that defines a location wins.
Unity Catalog resolves managed storage from the most specific level outward: schema first, then catalog, then metastore. Because a workspace newly enabled for Unity Catalog carries no metastore-level managed storage at all, assuming the data will fall back to the metastore is not safe, and the recommended isolation lever is a managed location on the catalog for each environment rather than one on every schema. Several catalogs and schemas may safely share a single managed location, because Unity Catalog isolates each object's data beneath it.
Trap That managed data always lands in the metastore's root storage, or that a location set on the catalog overrides one already set on the schema.
2 questions test this
- Contoso has an Azure Databricks workspace that was recently enabled for Unity Catalog, and the attached metastore was created without a metastore-level managed storage location. A platform engineer mu
- Contoso has one Unity Catalog metastore shared by development, test, and production workloads in an Azure Databricks workspace. Each environment must store its managed tables and managed volumes in it
- A catalog or schema managed location is legal only inside an already-registered external location, while metastore-level managed storage must sit outside external locations and no managed storage may overlap an existing external table or volume path.
The path named as a catalog's or schema's managed location must fall inside storage that is already registered in Unity Catalog as an external location, which is why an otherwise well-formed catalog or schema creation is refused when the container was never registered. Metastore-level managed storage is the exception and must not sit inside an external location, and no managed storage at any level may overlap the path of an existing external table or external volume.
Trap That any storage container the workspace can reach may be named as a managed location, and that overlapping an existing external table's path is untidy rather than rejected.
3 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named ops must be given a managed storage location. The proposed path sits inside a registered external location and the eng
- You have an Azure Databricks workspace enabled for Unity Catalog. An engineer runs a CREATE SCHEMA statement for analytics.curated that includes a MANAGED LOCATION pointing to a path in an ADLS Gen2 c
- Contoso's Unity Catalog metastore was created without managed storage. An account admin plans to add a metastore-level managed storage location and proposes a container path that is already registered
- Altering a catalog's or schema's managed location governs only managed objects created after the change and physically moves no existing table or volume data.
Managed storage is resolved at the moment an object is created, so changing the location later re-points new managed tables and volumes only; everything already written stays where it first landed. A requirement to relocate data that already exists is therefore answered by recreating or copying those objects into the new location, never by the alter statement on its own.
Trap That setting a new managed location on the catalog or schema migrates the managed tables and volumes that are already there into the new container.
2 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. The schema research.raw has a managed location in a container named container1 and contains a managed volume named landing that holds
- Contoso must move the data of 12 existing managed tables in the catalog finance from its original ADLS Gen2 container into a new container required by a data residency policy. An administrator has alr
- A shallow clone is the answer when a receiving catalog needs a writable copy that may freely diverge with no upfront data duplication, and a deep clone is the answer when the copy must outlive the source, sit in different storage, or go to a team that will never have access to the source's files.
A shallow clone copies metadata only and references the source table's existing data files, so it completes in seconds against a multi-terabyte table and duplicates no bytes; a deep clone physically copies the data and is therefore the choice when the copy must stand on its own. Writes to either clone leave the source untouched, and re-issuing the same clone against an existing target syncs it incrementally instead of rebuilding it, which is what makes a clone the repeatable environment-refresh answer rather than a one-off query-built copy.
Trap That a development copy of a large production table must be a deep clone or a query-built copy so the team can write to it, and that refreshing that copy means dropping and rebuilding it each time.
2 questions test this
- You have an Azure Databricks workspace that is attached to a Unity Catalog metastore. A catalog named prod_catalog contains a managed Delta table named Telemetry that holds 40 TB of data. A developmen
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog named finance contains a managed Delta table named Ledger. A partner engineering team works in a separate catalog an
- Shallow clone applies to Delta tables only and a clone must be managed-to-managed or external-to-external, so a managed source cannot be shallow cloned into an external target.
Unity Catalog requires the clone target to be the same kind of table as its source, and shallow clone additionally supports Delta tables only. A plan to shallow clone a production managed table into an external table in a development container fails on that rule alone, whatever privileges the requester holds, and has to be restructured as a managed target in the development catalog or as a deep clone.
Trap That any governed table can be shallow cloned to any container the user can write to, so the plan only needs the right privileges on the target.
2 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog named lakehouse contains a managed Apache Iceberg table named Events. An analytics team asks you to provision a zero
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog named prod contains a managed Delta table named Claims. A developer submits a plan to create a zero-copy shallow clo
- Running VACUUM on the source of a Unity Catalog shallow clone does not break the clone, because Unity Catalog tracks which source files the clone still references.
Under the legacy metastore a shallow clone could be orphaned when its base table was vacuumed, and that belief is carried forward into Unity Catalog scenarios where it no longer holds. Unity Catalog tracks the source files a clone still depends on, so the clone keeps reading them, and the same reference tracking is why vacuuming the base table can require access to the clone.
Trap That the shallow clone must be recreated, or promoted to a deep clone, before the source table's retention job runs, because VACUUM will remove the files it points at.
3 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog named dev contains a managed shallow clone named DevSales whose base table is the managed Delta table prod.Sales. Th
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog named dev contains DevInvoices, a managed shallow clone of the managed Delta table prod.Invoices. The development te
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A nightly maintenance job runs VACUUM on prod.Contracts, a managed Delta table, on a dedicated access mode cluster running as
Secure and govern Unity Catalog objects
Secure Unity Catalog Objects
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- GRANT assigns a privilege on a securable to a user, group, or service principal
Access to a Unity Catalog securable is granted with GRANT ON TO , where the principal can be a user, an account group, or a service principal, and REVOKE removes it; common privileges include SELECT, MODIFY, and CREATE.
Trap A principal is not limited to individual users; groups and service principals are equally valid grant targets and groups are preferred for manageability.
6 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A group named etl_writers has been granted SELECT and MODIFY on the table catalog2.raw.events, but their write jobs fail with a permis
- You have an Azure Databricks workspace enabled for Unity Catalog. A group named data-engineers must be able to create new tables inside an existing schema named bronze in a catalog named lakehouse, bu
- You have an Azure Databricks workspace enabled for Unity Catalog. A group named etl-writers needs to insert, update, and delete rows in a table named warehouse.staging.Loads. The group must NOT be abl
- You have an Azure Databricks workspace enabled for Unity Catalog. Thirty analysts in a growing team all need identical SELECT access to a set of tables in a catalog named sales, and team membership ch
- You have an Azure Databricks workspace enabled for Unity Catalog. A nightly Lakeflow job runs as a service principal named sp_ingest that already holds USE CATALOG on catalog1 and USE SCHEMA on catalo
- You have an Azure Databricks workspace enabled for Unity Catalog. A group named contractors was previously granted SELECT on the table catalog1.hr.salaries. The contractors' engagement has ended, and
- Reading a table also requires USE CATALOG and USE SCHEMA on its parents
To query a table a principal needs SELECT on the table plus USE CATALOG on its catalog and USE SCHEMA on its schema; the USE privileges grant traversal of the three-level namespace but do not by themselves expose any data.
Trap SELECT on the table alone is insufficient; without USE CATALOG and USE SCHEMA on the parents the query fails with a permission error.
11 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A group named etl_writers has been granted SELECT and MODIFY on the table catalog2.raw.events, but their write jobs fail with a permis
- You have an Azure Databricks workspace enabled for Unity Catalog. You granted a group named support_team USE CATALOG on catalog1 and USE SCHEMA on catalog1.ops so they could navigate the namespace. Me
- You have an Azure Databricks workspace enabled for Unity Catalog. A schema named catalog1.lake contains tables, views, and volumes, and more of each are added over time. A group named ds_team must be
- You have an Azure Databricks workspace enabled for Unity Catalog. Through a BROWSE grant on a catalog named sales, a group named regional-managers can see that a table named sales.emea.Revenue exists
- You have an Azure Databricks workspace enabled for Unity Catalog. The catalog sales contains several schemas. A group named emea_reporting must be able to read all current and future tables in the sal
- You have an Azure Databricks workspace enabled for Unity Catalog. A group named etl-writers needs to insert, update, and delete rows in a table named warehouse.staging.Loads. The group must NOT be abl
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named finance contains a schema named reporting, which contains a table named GLBalances. A business analyst has been grante
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named analytics contains dozens of schemas, and new schemas and tables are added every week. A group named bi_readers must b
- You have an Azure Databricks workspace enabled for Unity Catalog. A new group named auditors has no privileges anywhere in the metastore. The auditors must be able to run read-only queries against exa
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named research is expected to gain many new schemas over the coming year as new projects start. A group named research-reade
- You have an Azure Databricks workspace enabled for Unity Catalog. A group named auditors has been granted USE CATALOG on a catalog named ops and USE SCHEMA on a schema named events, but running SELECT
- A privilege granted on a catalog or schema is inherited by its child objects
Unity Catalog privileges are inherited down the object hierarchy, so a privilege granted on a catalog applies to all of its current and future schemas and tables, and a grant on a schema applies to its tables, views, and volumes.
5 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A schema named catalog1.lake contains tables, views, and volumes, and more of each are added over time. A group named ds_team must be
- You have an Azure Databricks workspace enabled for Unity Catalog. The catalog sales contains several schemas. A group named emea_reporting must be able to read all current and future tables in the sal
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named analytics contains dozens of schemas, and new schemas and tables are added every week. A group named bi_readers must b
- You have an Azure Databricks workspace enabled for Unity Catalog. A new group named auditors has no privileges anywhere in the metastore. The auditors must be able to run read-only queries against exa
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named research is expected to gain many new schemas over the coming year as new projects start. A group named research-reade
- Object owners and MANAGE control who can grant on a securable
In Unity Catalog the owner of a securable (a user, group, or service principal) implicitly holds all privileges on it and is the principal who can GRANT/REVOKE, ALTER, and DROP it; granting the MANAGE privilege lets a non-owner administer the object, including granting and revoking privileges and even dropping or transferring it, without being the owner, and ownership can be reassigned with ALTER OWNER TO.
Trap Holding SELECT is not enough to administer an object - only the owner or a MANAGE holder can grant, drop, or transfer it, and MANAGE differs from ownership only in that it is not automatically given the object's data privileges (it must self-grant SELECT).
- UC principals are account-level identities federated from Microsoft Entra ID
Users, groups, and service principals in Unity Catalog are account-level identities, typically provisioned from Microsoft Entra ID via SCIM; account groups must be assigned to a workspace through identity federation before they can be granted privileges there.
Trap Groups are managed at the account level, not per-workspace - grants target account-level principals federated to the workspace, not a workspace-local group.
- Object-level grants cover every column; column limits need a view, mask, or ABAC
A SELECT grant applies to the entire table securable and cannot be scoped to individual columns, so column-level access control is achieved by layering a view that exposes only permitted columns, a column mask, or an ABAC policy on top of the base grant.
Trap Granting SELECT on only the non-sensitive columns is not a Unity Catalog capability; it would break SELECT * with a permission error rather than hide values.
15 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. Business users query a reporting object named quarterly_report, which is a view built on several base tables and whose rep_commission
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named lakehouse_prod contains more than 300 tables, and columns that hold personal data are labeled with a governed tag name
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named Sales1 contains a schema named crm with a table named Customers that has the columns customer_id, region, email, and s
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named finance contains a schema named ledger with a managed Delta table named gl_entries that has the columns entry_id, cost
- You have an Azure Databricks workspace enabled for Unity Catalog. Your data governance team currently masks sensitive columns by hand-building a dynamic view for each table. They now require a mechani
- You have an Azure Databricks workspace enabled for Unity Catalog. A single Delta table named payroll has a column named bank_account that must be redacted for most users. A suitable SQL UDF is already
- You have a Unity Catalog table named ops.tickets that is queried directly by several existing dashboards, and the object name cannot change. The table has a column named assignee_ssn. You need to ensu
- You have an Azure Databricks workspace enabled for Unity Catalog. An external analytics vendor group named vendor_bi must run queries that return every row of a Unity Catalog table named telemetry.dev
- You have an Azure Databricks workspace enabled for Unity Catalog. In a dynamic view over a table named transactions, the card_number column (an integer) must return its real value only to members of t
- You have an Azure Databricks workspace enabled for Unity Catalog. A table owner applied column masks to the ssn and salary columns of a table named hr.people so that a benefits_team group would see re
- You have an Azure Databricks workspace enabled for Unity Catalog. You created a dynamic view named orders_secure that redacts the customer_ssn column for everyone except the account group compliance.
- You have a Unity Catalog table that contains pii-tagged columns. An engineer proposes granting analysts SELECT on only the non-PII columns so the same table grant hides the PII columns. You need to ev
- You have an Azure Databricks workspace enabled for Unity Catalog. All analysts must be able to query every row of a single HR table named compensation, but the salary column must show a redacted value
- You manage an Azure Databricks workspace that is enabled for Unity Catalog. A catalog named grid_ops contains a wide managed Delta table named asset_readings with 22 columns, several of which hold con
- You have an Azure Databricks workspace enabled for Unity Catalog. You are about to publish a dynamic view named marketing_secure that redacts several columns for users outside the account group market
- A dynamic view redacts columns per group with is_account_group_member in CASE
A dynamic view wraps a base table and uses CASE expressions calling is_account_group_member() so that members of an authorized group receive the real column value while all other callers receive NULL or a redacted literal.
13 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. Business users query a reporting object named quarterly_report, which is a view built on several base tables and whose rep_commission
- You have an Azure Databricks workspace enabled for Unity Catalog. You are writing a dynamic view over a Unity Catalog table and need the redaction logic to reveal a column only to users who belong to
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named finance contains a schema named ledger with a managed Delta table named gl_entries that has the columns entry_id, cost
- You have a Unity Catalog table named billing.invoices with a column named card_number. You need to publish a single shared view to the analysts group in which members of fraud_team see the full card_n
- You have a Unity Catalog table named ops.tickets that is queried directly by several existing dashboards, and the object name cannot change. The table has a column named assignee_ssn. You need to ensu
- You have an Azure Databricks workspace enabled for Unity Catalog. An external analytics vendor group named vendor_bi must run queries that return every row of a Unity Catalog table named telemetry.dev
- You have an Azure Databricks workspace enabled for Unity Catalog. In a dynamic view over a table named transactions, the card_number column (an integer) must return its real value only to members of t
- You have an Azure Databricks workspace enabled for Unity Catalog whose groups are all defined at the account level and synced from Microsoft Entra ID. A colleague built a dynamic view named claims_sec
- You have an Azure Databricks workspace enabled for Unity Catalog. You created a dynamic view named orders_secure that redacts the customer_ssn column for everyone except the account group compliance.
- You have a Unity Catalog table that contains pii-tagged columns. An engineer proposes granting analysts SELECT on only the non-PII columns so the same table grant hides the PII columns. You need to ev
- You have an Azure Databricks workspace enabled for Unity Catalog. All analysts must be able to query every row of a single HR table named compensation, but the salary column must show a redacted value
- You have an Azure Databricks workspace enabled for Unity Catalog. A dynamic view named sales_redacted is defined as SELECT user_id, CASE WHEN is_account_group_member('auditors') THEN email ELSE 'REDAC
- You have an Azure Databricks workspace enabled for Unity Catalog. You are about to publish a dynamic view named marketing_secure that redacts several columns for users outside the account group market
- Grant the secure view and withhold the base table so users query only the view
For view-based access control you grant SELECT on the dynamic or restricted view and do not grant access to the underlying base table, forcing every principal through the view where the column and row rules are enforced.
- A dynamic view enforces row-level security with a caller-identity WHERE predicate
Row-level security through a dynamic view adds a WHERE predicate built from current_user() or is_account_group_member(), returning only the rows whose values match the querying principal, such as their own region or business unit.
16 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A dynamic view named my_records enforces per-user row-level security with WHERE owner_email = current_user(). An automated Lakeflow jo
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Cases has an assigned_agent column holding each support agent's login email. Each agent must see only the rows where ass
- You have an Azure Databricks workspace enabled for Unity Catalog. An engineer applied a column mask to the department column of an Employees table so that managers would see only their own department'
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Sales carries a region column. Which regions each user may see is governed by a frequently changing entitl
- You manage an Azure Databricks workspace that was recently attached to a Unity Catalog metastore. A dynamic view named sales_secure filters rows with the predicate WHERE is_member('managers'), and the
- You have an Azure Databricks workspace enabled for Unity Catalog. You must expose a single curated dataset that combines columns from two governed tables to one executive group, restricted to only the
- You have an Azure Databricks workspace enabled for Unity Catalog. A dynamic view is defined as CREATE VIEW my_orders AS SELECT * FROM orders WHERE sales_rep_email = current_user(). The orders table st
- You have an Azure Databricks workspace enabled for Unity Catalog that contains a reporting view named SalesReport, which several BI dashboards already query. You need to add row-level security so each
- You have an Azure Databricks workspace enabled for Unity Catalog. Users are organized into regional subgroups such as emea_west and emea_east, and those subgroups are themselves members of a parent ac
- You have an Azure Databricks workspace enabled for Unity Catalog. You created a dynamic view named CustomersSecure over a base table named Customers; its predicate filters rows with is_account_group_m
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named CustomerContacts has region and email columns, and a governed UserRegions table maps each user's session_user() value to
- You have an Azure Databricks workspace enabled for Unity Catalog. A dynamic view named orders_secure correctly filters rows by the caller's region and reads from a base table named Orders. The analyst
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. Catalog1 contains a table named Sales that includes a region column. Regional analyst teams are organized int
- You have an Azure Databricks workspace attached to a Unity Catalog metastore. A data engineer drafts a dynamic view that must filter rows so each caller sees only the rows for their department, where
- You have an Azure Databricks workspace enabled for Unity Catalog that contains a managed Delta table named Transactions with a total column. Requirement: members of the account-level managers group mu
- You have an Azure Databricks workspace enabled for Unity Catalog. Catalog1 contains a table named Accounts with a column named account_owner that stores each sales rep's login email. Reps join and lea
- Data-driven row-level security joins to an entitlement mapping table
A scalable row-level-security pattern joins the base table to a mapping table that records which principal or group may see which key values, so entitlement changes are made by editing data rather than by rewriting the view definition.
- An Azure Key Vault-backed secret scope exposes Key Vault secrets read-only
An Azure Key Vault-backed secret scope maps a Databricks secret scope onto an Azure Key Vault so notebooks can read its secrets; it is a read-only interface, meaning the secret values are created, updated, and rotated in Azure rather than in Databricks.
Trap A Key Vault-backed scope cannot be written from Databricks; secrets must be added and rotated in the Azure Key Vault itself.
9 questions test this
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. Your central security team must create, rotate, and audit the production database and storage credentials exc
- Litware's security team stores every production credential in an Azure Key Vault named KV1 and requires that all secret values be created, rotated, and audited only in Azure, never inside Databricks.
- Adventure Works runs two Azure Databricks workspaces, WS1 and WS2, that both connect to the same production database using the same password. The security team stores that password in a single Azure K
- Contoso, Inc. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. The security team requires that every credential used by production pipelines be created, updated, a
- Fabrikam has an Azure Databricks workspace enabled for Unity Catalog. Notebooks read credentials through an Azure Key Vault-backed secret scope named kv-scope that maps to the key vault KV1. A new pip
- Your Azure Databricks workspace exposes credentials to notebooks through an Azure Key Vault-backed secret scope named kv-scope that maps to the key vault KV1. A legacy service account is being decommi
- Northwind's Azure Databricks workspace already uses Azure Key Vault-backed secret scopes for production. A development team now needs to create, update, and delete a handful of short-lived experiment
- An administrator rotates a database credential by updating its value in the Azure Key Vault that backs an Azure Key Vault-backed secret scope in your workspace. A scheduled Lakeflow job reads the cred
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Structured Streaming notebook must read events from an Azure Event Hubs namespace, authenticating with a connection string t
- dbutils.secrets.get reads a secret and Databricks redacts it from output
Code retrieves a secret with dbutils.secrets.get(scope, key) instead of hardcoding credentials, and Databricks automatically replaces any printed secret value with [REDACTED] so it cannot leak into notebook cell output or logs.
13 questions test this
- You are building an Azure Databricks notebook that calls an external vendor REST API to pull reference data for a Lakeflow pipeline. The API bearer token is stored as the key api-token in a secret sco
- You are building an Azure Databricks notebook that calls an external vendor REST API to pull reference data for a Lakeflow pipeline. The API bearer token is stored as the key api-token in a secret sco
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. Your central security team must create, rotate, and audit the production database and storage credentials exc
- Litware's security team stores every production credential in an Azure Key Vault named KV1 and requires that all secret values be created, rotated, and audited only in Azure, never inside Databricks.
- You have an Azure Databricks workspace with a secret scope named prod-scope that holds production credentials. A teammate assumes that because Databricks shows secrets as [REDACTED] in output, no one
- An Azure Databricks notebook must pass an API token to a library function. The token is stored in an Azure Key Vault-backed secret scope. The token must not be written as a literal in the notebook, an
- You have an Azure Databricks workspace. A notebook connects to an Azure Data Lake Storage Gen2 account by using a storage account key that is currently written directly in a notebook cell. A security
- You maintain an Azure Databricks notebook that connects to an external PostgreSQL database with a JDBC read. The password is stored as the key db-pw in an Azure Key Vault-backed secret scope named app
- A notebook must use a database password stored in Azure Key Vault. The password must not be hardcoded in the notebook, and Azure Databricks should redact the retrieved literal from ordinary notebook o
- A notebook retrieves a credential from an Azure Databricks secret scope by using Databricks Utilities. The user then displays the retrieved literal value in the notebook output. What should the user e
- An administrator rotates a database credential by updating its value in the Azure Key Vault that backs an Azure Key Vault-backed secret scope in your workspace. A scheduled Lakeflow job reads the cred
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Structured Streaming notebook must read events from an Azure Event Hubs namespace, authenticating with a connection string t
- You are building an Azure Databricks notebook that calls an external vendor REST API to pull reference data for a Lakeflow pipeline. The API bearer token is stored as the key api-token in a secret sco
- Secret access is governed by READ, WRITE, and MANAGE scope ACLs
Secret scope access control assigns per-scope ACLs at the READ, WRITE, and MANAGE levels, and a principal needs at least READ on the scope, which permits reading secret values and listing keys, before dbutils.secrets.get will succeed.
- A service principal is a non-human identity for automated data workloads
A service principal is an identity created for tools, jobs, and CI/CD rather than a person, and it is granted Unity Catalog privileges like any principal so automated pipelines can authenticate and access data without depending on an individual user's account.
16 questions test this
- You have a production Lakeflow Job that writes to a curated Gold table. Company policy states that no individual user may hold write access to production Gold tables, yet the job must write to them, a
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a production table named Orders. A nightly Lakeflow Job must update rows in Orders, but business analysts must kee
- You need an automation identity for a scheduled job that must authenticate to Azure Databricks to run and must also authenticate directly to an Azure Data Lake Storage Gen2 account and an Azure Key Va
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Lakeflow Spark Declarative Pipelines (SDP) pipeline named Pipeline1 publishes tables to a catalog. The engineer who created
- You manage Unity Catalog access for many automated pipelines in an Azure Databricks workspace, and each pipeline runs as its own service principal. Requirements: you want to grant one common set of re
- You have a Lakeflow Job that writes to a production catalog. The job currently runs as a lead engineer who happens to hold broad, workspace-wide Unity Catalog privileges. Requirements: the job must be
- You have a Databricks service principal that a Lakeflow ingestion pipeline runs as. The pipeline fails with a permission error while reading its source table, catalog1.bronze.events. Requirements: the
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A nightly ETL job ingests data into Unity Catalog tables and currently authenticates by using a data engineer's personal acces
- You have an Azure Databricks workspace that is enabled for Unity Catalog. While reviewing system logs, you notice an Azure Databricks-managed service principal that is performing background operations
- You have an Azure Databricks workspace. An internally built scheduling application must call the Azure Databricks REST API on a recurring basis to start jobs and read run status. The application runs
- You have a CI/CD pipeline in Azure DevOps that deploys Declarative Automation Bundles (formerly Databricks Asset Bundles) to a workspace on every merge to the main branch. The pipeline runs unattended
- You have a production Lakeflow Job that writes to a curated Gold table. Company policy states that no individual user may hold write access to production Gold tables, yet the job must write to them, a
- Contoso, Inc. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A GitHub Actions workflow deploys notebooks and Lakeflow Jobs to Workspace1 every night by authentic
- You have an external reporting application that connects to a Databricks SQL warehouse every hour to refresh dashboards. It runs as a background service with no interactive user. Requirements: the con
- You have an Azure Databricks workspace that is enabled for Unity Catalog. Currently, several data engineers run production data-loading jobs under their own user accounts, so each engineer holds write
- You have several production Lakeflow Jobs that fail intermittently. Investigation shows that each job runs as the user who created it, and every failure coincides with that user losing a Unity Catalog
- Running a job as a service principal decouples it from a user account
Configuring a Lakeflow Job or pipeline to run as a service principal keeps it working when the original author leaves or loses access, and confines the job's data access to exactly the Unity Catalog privileges granted to that service principal.
12 questions test this
- You have a production Lakeflow Job that writes to a curated Gold table. Company policy states that no individual user may hold write access to production Gold tables, yet the job must write to them, a
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a production table named Orders. A nightly Lakeflow Job must update rows in Orders, but business analysts must kee
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Lakeflow Job named Job1 is configured to Run as a service principal named prod_sp, which has SELECT on a sensitive catalog.
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A Lakeflow Spark Declarative Pipelines (SDP) pipeline named Pipeline1 publishes tables to a catalog. The engineer who created
- You have a Lakeflow Job that writes to a production catalog. The job currently runs as a lead engineer who happens to hold broad, workspace-wide Unity Catalog privileges. Requirements: the job must be
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A nightly ETL job ingests data into Unity Catalog tables and currently authenticates by using a data engineer's personal acces
- You have a production Lakeflow Job that writes to a curated Gold table. Company policy states that no individual user may hold write access to production Gold tables, yet the job must write to them, a
- Contoso, Inc. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A GitHub Actions workflow deploys notebooks and Lakeflow Jobs to Workspace1 every night by authentic
- You have an external reporting application that connects to a Databricks SQL warehouse every hour to refresh dashboards. It runs as a background service with no interactive user. Requirements: the con
- You have an Azure Databricks workspace. A scheduled Lakeflow Job must read from and write to an Azure Data Lake Storage Gen2 account whose access is controlled by a service principal. The job must acc
- You have an Azure Databricks workspace that is enabled for Unity Catalog. Currently, several data engineers run production data-loading jobs under their own user accounts, so each engineer holds write
- You have several production Lakeflow Jobs that fail intermittently. Investigation shows that each job runs as the user who created it, and every failure coincides with that user losing a Unity Catalog
- Service principals authenticate with OAuth machine-to-machine tokens
A service principal authenticates non-interactively using OAuth machine-to-machine (M2M) tokens minted from its client ID and secret, which are the recommended automation credential in place of long-lived personal access tokens.
- An Access Connector managed identity authenticates the workspace to Azure storage
Resource access to ADLS Gen2 uses an Access Connector for Azure Databricks, a first-party Azure resource whose system- or user-assigned managed identity is granted a storage role such as Storage Blob Data Contributor, letting Databricks reach the storage account with no stored keys.
Trap A managed identity authenticates the underlying storage resource; a service principal instead represents a principal whose Unity Catalog privileges govern data access, not the storage connection.
14 questions test this
- You have several Azure Databricks Access Connectors and Azure resources that must all authenticate to storage under a single identity whose permissions and lifecycle stay consistent even if an individ
- Fabrikam has an Azure Databricks workspace enabled for Unity Catalog and a storage credential named cred_sales that wraps an Access Connector managed identity holding the Storage Blob Data Contributor
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog and a new Azure Data Lake Storage Gen2 account named adls1. You need to allow Databricks to read from and writ
- You have an Azure Databricks workspace enabled for Unity Catalog. A legacy notebook mounts an ADLS Gen2 container to /mnt/sales by using a Microsoft Entra service principal whose client secret is kept
- You have several Azure Databricks Access Connectors and Azure resources that must all authenticate to storage under a single identity whose permissions and lifecycle stay consistent even if an individ
- You have an Azure Databricks workspace enabled for Unity Catalog. Business analysts must query an external table whose files live in an ADLS Gen2 container that is already governed by an external loca
- You have an Azure Databricks workspace enabled for Unity Catalog and one Access Connector for Azure Databricks whose managed identity can access two ADLS Gen2 containers named bronze and silver. You n
- You are creating a new Unity Catalog metastore in Azure Databricks. The metastore's root storage will be an ADLS Gen2 container, and the metastore must authenticate to that container with no stored ac
- Contoso Ltd. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog and must read and write Parquet files in an Azure Data Lake Storage Gen2 account named adlssales. A ju
- You have an Azure Databricks workspace enabled for Unity Catalog that is attached to a metastore named metastore1. You have created an Access Connector for Azure Databricks whose managed identity alre
- You have an Azure Databricks workspace enabled for Unity Catalog and an Access Connector whose managed identity already has the Storage Blob Data Contributor role on an ADLS Gen2 account. You need Uni
- You have an Azure Databricks workspace enabled for Unity Catalog and an Access Connector for Azure Databricks whose managed identity will back a storage credential. You need Databricks to read, write,
- You have an Azure Databricks workspace deployed in your own Azure virtual network (VNet injection). An ADLS Gen2 account named adlssecure is protected by a storage firewall that denies public network
- You have an Azure Databricks workspace enabled for Unity Catalog. An engineer created a Microsoft Entra service principal, added it to a group, and granted the group SELECT on the external tables in a
- A storage credential wraps the managed identity for an external location to use
In Unity Catalog the Access Connector's managed identity is registered as a storage credential, and an external location then references that credential to govern reads and writes to a specific ADLS Gen2 container path.
9 questions test this
- Fabrikam has an Azure Databricks workspace enabled for Unity Catalog and a storage credential named cred_sales that wraps an Access Connector managed identity holding the Storage Blob Data Contributor
- You have an Azure Databricks workspace enabled for Unity Catalog. A legacy notebook mounts an ADLS Gen2 container to /mnt/sales by using a Microsoft Entra service principal whose client secret is kept
- You have an Azure Databricks workspace enabled for Unity Catalog. Business analysts must query an external table whose files live in an ADLS Gen2 container that is already governed by an external loca
- You have an Azure Databricks workspace enabled for Unity Catalog and one Access Connector for Azure Databricks whose managed identity can access two ADLS Gen2 containers named bronze and silver. You n
- You are creating a new Unity Catalog metastore in Azure Databricks. The metastore's root storage will be an ADLS Gen2 container, and the metastore must authenticate to that container with no stored ac
- Contoso Ltd. has an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog and must read and write Parquet files in an Azure Data Lake Storage Gen2 account named adlssales. A ju
- You have an Azure Databricks workspace enabled for Unity Catalog that is attached to a metastore named metastore1. You have created an Access Connector for Azure Databricks whose managed identity alre
- You have an Azure Databricks workspace enabled for Unity Catalog and an Access Connector whose managed identity already has the Storage Blob Data Contributor role on an ADLS Gen2 account. You need Uni
- You have an Azure Databricks workspace enabled for Unity Catalog. An engineer created a Microsoft Entra service principal, added it to a group, and granted the group SELECT on the external tables in a
- Managed identities are preferred over storage account keys or SAS tokens
Authenticating storage access through an Access Connector managed identity is recommended over embedding storage account keys or SAS tokens, because the credential is managed by Azure and is never exposed in notebook code or cluster configuration.
- A securable has exactly one owner, while MANAGE can be granted to many principals
Unity Catalog allows only one owning principal per securable — a user, service principal, or group — and ALTER ... OWNER TO replaces that owner rather than adding one. MANAGE is an ordinary privilege that can be granted to any number of principals, and it confers the ability to grant and revoke privileges on the object, transfer its ownership, rename it and drop it without being the owner. Making a group the owner, or granting MANAGE to a group, is therefore how several people share administration of one object.
Trap Believing you can add co-owners to a table or catalog so that several administrators own it simultaneously, instead of granting MANAGE or owning it through a group.
2 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a catalog named finance_prod. The owner of finance_prod is a group named data_governance, and that group must rema
- Contoso, Inc. has an Azure Databricks workspace attached to a Unity Catalog metastore named metastore1. A production catalog in metastore1, mfg_prod, is owned by a single user, eng1, who leaves the co
- ALL PRIVILEGES deliberately excludes MANAGE, READ METADATA, EXTERNAL USE SCHEMA and EXTERNAL USE LOCATION
ALL PRIVILEGES implies every applicable privilege for the object type without granting each one explicitly, but it never includes MANAGE, READ METADATA, EXTERNAL USE SCHEMA or EXTERNAL USE LOCATION — the exclusions exist to prevent accidental privilege escalation and data exfiltration. Consequently a principal with ALL PRIVILEGES on a table can read and write it yet cannot grant anyone else access, and revoking ALL PRIVILEGES removes the implied privileges but leaves those four untouched if they were granted separately. Because ALL PRIVILEGES is evaluated at permission-check time, it automatically picks up newly released privileges for that securable type.
Trap Reading ALL PRIVILEGES as literally every privilege, so that the grantee can also administer grants, transfer ownership, or hand a path to an external engine.
6 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a catalog named claims_cat with a schema named adjudication. A partner group named partner_actuaries holds USE CAT
- Your organization runs an Azure Databricks lakehouse governed by Unity Catalog. The managed table ops.telemetry.device_events is owned by iot_owners, while surge_support has ALL PRIVILEGES and, in a s
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A schema named catalog1.curated is owned by a group named curation_owners, which must remain the owner. A service principal na
- Contoso, Inc. has an Azure Databricks workspace attached to a Unity Catalog metastore named metastore1. A production catalog in metastore1, mfg_prod, is owned by a single user, eng1, who leaves the co
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a catalog named claims_cat with a schema named adjudication. A partner group named partner_actuaries holds USE CAT
- Your company has an Azure Databricks workspace that is enabled for Unity Catalog and is attached to a metastore on which a metastore admin has already turned on External data access. A partner analyti
- MANAGE has reduced usage requirements: MANAGE on a catalog needs no USE CATALOG, but data access still does
To exercise MANAGE you need usage privileges only on the container levels strictly ABOVE where MANAGE is held, never at that level itself: MANAGE on a catalog requires no USE CATALOG or USE SCHEMA at all, MANAGE on a schema requires USE CATALOG on the parent catalog, and MANAGE on a table requires USE CATALOG plus USE SCHEMA. MANAGE granted on a container is also inherited by every child object, so MANAGE on a catalog carries MANAGE on its schemas and tables. The reduction applies only to the metadata capabilities of MANAGE — data privileges such as SELECT and MODIFY that a MANAGE holder grants to itself still require USE CATALOG and USE SCHEMA.
Trap Assuming a principal with MANAGE on a catalog must also be granted USE CATALOG before they can administer grants inside it, by analogy with the SELECT + USE CATALOG + USE SCHEMA rule.
- READ METADATA, not BROWSE, is the read-only delegation of MANAGE that exposes grants, filters, masks and policies
READ METADATA is the child privilege of the composite MANAGE privilege: it gives read-only visibility into the same owner-visible metadata — permissions, row filters, column masks, ABAC policies, and credential names and IDs — without any ability to modify the object or read its data, which is what an auditor or SRE needs. BROWSE is a different, discovery-oriented privilege: it lets a principal see that an object exists and view its name, description and tags without USE CATALOG or USE SCHEMA, and it deliberately does not expose that security-sensitive metadata. The two are granted and revoked independently of MANAGE, so revoking MANAGE does not revoke an explicitly granted READ METADATA.
Trap Granting BROWSE to a security auditor who must review who has access and which masks are applied, on the belief that BROWSE is the read-only view of an object's governance metadata.
- Creating an external location requires CREATE EXTERNAL LOCATION on both the metastore and the storage credential it references
CREATE EXTERNAL LOCATION is one of the few privileges that must be held in two places at once: on the Unity Catalog metastore, and on the specific storage credential named in the WITH (STORAGE CREDENTIAL ...) clause. Holding it on the metastore alone is not sufficient, which is what stops any metastore-level creator from wrapping someone else's credential in a new path. Metastore admins and workspace admins have this privilege by default, and creating the storage credential itself is separately gated by CREATE STORAGE CREDENTIAL on the metastore.
Trap Assuming that because an external location is a metastore-level securable, a metastore-level CREATE EXTERNAL LOCATION grant alone lets a principal register a path over any existing storage credential.
- CREATE EXTERNAL VOLUME applies only to external locations, so an external volume cannot be created from a bare storage credential
The privileges that apply to a storage credential are ALL PRIVILEGES, CREATE EXTERNAL LOCATION, CREATE EXTERNAL TABLE, MANAGE, READ FILES, READ METADATA and WRITE FILES — CREATE EXTERNAL VOLUME is not among them, because it is defined only for external locations. CREATE EXTERNAL TABLE exists on both securables, and Databricks recommends granting it on the external location rather than the credential precisely because the external location is scoped to a path, giving control over where in the cloud tenant users may create tables. So registering an external volume always starts by creating an external location over the target path.
Trap Believing CREATE EXTERNAL VOLUME can be granted on a storage credential the same way CREATE EXTERNAL TABLE can, since both securables authorize access to cloud storage.
- EXTERNAL USE LOCATION is excluded from ALL PRIVILEGES and is not held by external location owners by default
EXTERNAL USE LOCATION is the privilege that lets a principal obtain a temporary credential for an external location so an external processing engine can read the path through the Unity Catalog open APIs. To avoid accidental data exfiltration it is excluded from ALL PRIVILEGES, and external location owners do not have it by default; the documentation states that only users with MANAGE on the external location can grant it. The equivalent carve-out exists one level up in the data hierarchy: schema owners do not hold EXTERNAL USE SCHEMA by default either, and only the catalog owner can grant it.
Trap Assuming that granting ALL PRIVILEGES on an external location, or simply owning it, is enough to let an outside engine obtain temporary credentials for that path.
- By default a storage credential or external location is usable from every workspace attached to the metastore until it is workspace-bound
Storage credentials and external locations are metastore-level securables, and by default any privileged user can use them from any workspace attached to that metastore. Restricting them to a subset of workspaces is a separate, explicit step — assigning the object to specific workspaces on its Workspaces tab, also called workspace binding or external location isolation. A second, orthogonal control is the Limit to read-only use option, which can be set on the storage credential (making every external location that uses it read-only) or on an individual external location.
Trap Assuming an external location or storage credential is automatically scoped to the workspace in which it was created, so a principal in another attached workspace cannot use it.
- A team that only needs to read or write files under a governed path is granted on the volume, which scopes them to that volume's path instead of the whole storage prefix
READ VOLUME and WRITE VOLUME on a Unity Catalog volume, together with USE CATALOG and USE SCHEMA on its parents, give notebooks, jobs and libraries file access through the volume's /Volumes path, and that is the least-privilege securable for a pure file-access requirement over ADLS Gen2 data. Granting on the external location instead exposes every path beneath it, including data belonging to other teams, and is justified only when the principal must also define new objects on that path.
Trap Reaching for a grant on the external location because the data 'is just files in the storage account', when a grant on the volume already covers reading and writing those files at a much narrower scope.
2 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A schema named ops in a catalog named prod1 contains an external volume named checkpoints that is backed by an ADLS Gen2 path.
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A catalog named research1 contains a schema named imaging, which contains an external volume named scans that
- Creating external tables, external volumes or managed storage over a cloud path requires a grant on the external location covering that path, which no volume grant can confer
The external location is the securable that governs the storage path itself, so the privileges that let a principal read the raw path or define new objects over it — such as READ FILES, WRITE FILES, CREATE EXTERNAL TABLE and CREATE EXTERNAL VOLUME — are granted on the external location. A volume grant never carries this, because a volume exposes only the files beneath its own path to consumers of that volume. Match the securable to the verb in the requirement: consuming files points at the volume, defining objects on the path points at the external location.
Trap Assuming that because a team can already read the files through a volume they can point an external table at the same path, when the create-time authorization check is made against the external location.
3 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A service principal runs a nightly Lakeflow job that must register external Delta tables in the curated schema of the sales1 c
- You have an Azure Databricks workspace attached to a Unity Catalog metastore. A platform engineer must create a catalog named finance1 whose managed tables and managed volumes are stored under abfss:/
- You have an Azure Databricks workspace that is enabled for Unity Catalog. An external location named lakeroot already exists over an ADLS Gen2 container. A data engineer holds USE CATALOG on the iot1
- Granting a principal permissions directly on the ADLS Gen2 account or container bypasses Unity Catalog governance entirely, leaving that access ungoverned and unaudited by the metastore
Unity Catalog privileges, lineage and audit apply only to access that arrives through its securables, so a principal holding storage-level roles on the account, or using a path-based credential, reads the same bytes with none of that oversight and cannot be cut off by revoking a grant. The governed answer is to register the path as an external location or a volume backed by a storage credential and grant on that securable, reserving direct storage permissions for the managed identity Unity Catalog itself authenticates with.
Trap Solving a file-access request by assigning the team a data role on the storage container, on the belief that Unity Catalog will still govern and audit the access because the same path is registered as an external location.
3 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. An ADLS Gen2 container is registered as an external location, and a volume exposes one of its directories to an analytics team
- You have an Azure Databricks workspace that is enabled for Unity Catalog. An external volume named partner_drop exposes an ADLS Gen2 directory. A partner's non-Databricks ETL engine must read the same
- You are connecting a Unity Catalog metastore to an ADLS Gen2 container so that a data engineering team can work with files under a governed path. You create an access connector for Azure Databricks, r
- Compute that cannot enforce a row filter, column mask or dynamic view fails the query rather than returning unprotected rows
Fine-grained access control is fail-closed, so a workload running on compute that does not support it errors out instead of quietly serving unfiltered or unmasked data. That makes the symptom diagnostic: a query that fails only against protected tables while succeeding against unprotected ones points at the compute's access mode, whereas users genuinely seeing values they should not points at the grant, the group membership or the policy definition. Fix the first by moving the workload, never by rewriting a control that is working as designed.
Trap Believing an unsupported cluster silently ignores the filter and leaks the underlying values, so the remedy is to re-apply the mask or re-grant privileges rather than to change the compute.
5 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A nightly Lakeflow job reads catalog1.sales.Orders, which carries a row filter the compliance team requires. The job runs on a classic
- You have an Azure Databricks workspace enabled for Unity Catalog. A nightly Lakeflow job reads catalog1.sales.Orders, which carries a row filter the compliance team requires. The job runs on a classic
- You have an Azure Databricks workspace enabled for Unity Catalog. A column mask hides all but the last four digits of catalog1.crm.Customers.card_number. During an audit you find that several contract
- You have an Azure Databricks workspace enabled for Unity Catalog. A retired reporting job ran for months on a classic cluster using Databricks Runtime 11.3 LTS and read catalog1.fin.Ledger, a table th
- You have an Azure Databricks workspace enabled for Unity Catalog. A row filter is applied to catalog1.hr.Salaries. The analyst group holds SELECT on Salaries and queries it successfully from a SQL war
- Dedicated access mode enforces filters and masks only through serverless data filtering, which requires both a workspace enabled for serverless and support for the specific operation
On dedicated compute the protected read is delegated to a serverless filtering layer, so a supported runtime is only half the prerequisite — the workspace must also be enabled for serverless compute, and upgrading the runtime alone will not make a filtered or masked table readable there. Support is granted per operation as well: reads becoming available on dedicated compute does not mean writes, merges or streaming operations against the same protected table are allowed. A workload that must write to a filtered or masked table therefore belongs on compute that enforces the control natively.
Trap Concluding that a newer runtime is all a dedicated cluster needs, or that because reads of the masked table already succeed there the job's writes to it will succeed too.
5 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog and for serverless compute. Several teams read tables carrying row filters and column masks from dedicated access mode clusters
- You have an Azure Databricks workspace enabled for Unity Catalog. A data scientist must read catalog1.hr.Employees, which carries a column mask, from a dedicated access mode cluster. The cluster alrea
- You have an Azure Databricks workspace that is enabled for Unity Catalog and for serverless compute. Several teams read tables carrying row filters and column masks from dedicated access mode clusters
- You have an Azure Databricks workspace enabled for Unity Catalog and for serverless compute. A Structured Streaming job must read catalog1.iot.Telemetry, a table protected by a row filter. The job run
- You have an Azure Databricks workspace that is enabled for Unity Catalog and for serverless compute. A job reads and then writes catalog1.ops.Devices, a table that carries a column mask. On its dedica
- Legacy no-isolation compute cannot reach Unity Catalog data at all, so the remedy is moving the workload to a governed access mode rather than granting more privileges
No-isolation clusters sit outside Unity Catalog's identity model, so no grant, runtime upgrade or policy change lets them query a Unity Catalog table, protected or not. When a job on such a cluster fails against the metastore, the fix is to re-run it on standard access mode, serverless compute or a SQL warehouse. Standard access mode is the default landing place when several users share the compute and fine-grained controls must be enforced natively for each caller's identity.
Trap Reading the failure as a missing privilege and adding SELECT plus USE CATALOG and USE SCHEMA, or bumping the runtime version, expecting the no-isolation cluster to then reach the table.
3 questions test this
- You have an Azure Databricks workspace that was recently attached to a Unity Catalog metastore. A team wants to keep its existing classic cluster, which uses the legacy no isolation shared access mode
- You have an Azure Databricks workspace attached to a Unity Catalog metastore. Eight analysts must share one classic all-purpose cluster and query tables protected by row filters and column masks, and
- You have an Azure Databricks workspace attached to a Unity Catalog metastore. A scheduled job reads catalog1.fin.Journal from a cluster that uses the legacy no isolation shared access mode. A metastor
Govern Unity Catalog Objects
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Table and column descriptions are added with the COMMENT clause
Descriptions for discovery are set with the COMMENT clause or COMMENT ON and can be edited in Catalog Explorer; a table comment documents the dataset and per-column comments document each field, all stored as Unity Catalog metadata.
10 questions test this
- You have a Unity Catalog Delta table named catalog1.schema1.Payments with a column named amt. You need to attach the description 'Payment amount in USD' to the amt column so it is stored as column met
- In a Unity Catalog catalog, a colleague applied several tags to a table named Shipments hoping to describe what the table is for, but data consumers browsing Catalog Explorer still cannot read a plain
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named sales_cat contains a managed Delta table named Orders. When data consumers browse the catalog, they cannot tell what O
- You have a Unity Catalog Delta table named catalog1.schema1.Payments with a column named amt. You need to attach the description 'Payment amount in USD' to the amt column so it is stored as column met
- You have an Azure Databricks workspace enabled for Unity Catalog. The catalog crm_prod contains a managed Delta table named Accounts whose columns have cryptic names such as c_id, mrr, and geo. Requir
- You are authoring a notebook that runs a CREATE TABLE statement to build a new managed Delta table named Inventory in a Unity Catalog schema. Company policy requires that every new table ship with a d
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog and for AI-assistive features. A newly onboarded catalog named mktg_prod contains a wide managed Delta table n
- You have an Azure Databricks workspace enabled for Unity Catalog. The catalog ops_prod contains a schema named discovery with a managed Delta table named Assets that was repurposed months ago, but its
- You have an Azure Databricks workspace enabled for Unity Catalog. Your team currently keeps the definitions of tables and columns in an external wiki, but consumers browsing Catalog Explorer still can
- Users can find a Unity Catalog table, but they cannot determine the table's business purpose or the meaning of its customer_status column. You need to preserve both descriptions as discoverable Unity
- AI-generated comments propose table and column descriptions for review
Catalog Explorer can suggest AI-generated table and column descriptions that a data steward reviews and accepts, accelerating the documentation of large catalogs so that objects become discoverable more quickly.
5 questions test this
- A Unity Catalog table has cryptic column names, and a data steward wants to add plain-language descriptions that help users discover and understand the data. The steward proposes generating AI comment
- A data steward uses the AI generate option in Catalog Explorer to document a Unity Catalog table. Your governance policy requires that a person verify each description for accuracy before it is stored
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog and for AI-assistive features. A newly onboarded catalog named mktg_prod contains a wide managed Delta table n
- You have an Azure Databricks workspace enabled for AI-assistive features and Unity Catalog. In Catalog Explorer, a data steward opens a wide table and clicks AI generate above the column list, and a s
- You have an Azure Databricks workspace enabled for AI-assistive features and Unity Catalog. A newly created catalog named finance_raw contains many undocumented tables and columns. A data steward assu
- Descriptions persist as metadata and power search and discovery
Because comments persist as Unity Catalog metadata they survive schema evolution and surface in Catalog Explorer search and AI/BI Genie, letting users find and understand data without opening the underlying files.
- Governed tags are the account-level attribute vocabulary ABAC builds on
Governed tags are a centrally defined, account-level set of tag keys and allowed values, with permissions controlling who may apply each tag; they are the attributes that attribute-based access control policies evaluate to decide protection.
10 questions test this
- You are a governance admin for an Azure Databricks account that is enabled for Unity Catalog. Before any attribute-based access control (ABAC) policies are written, you must establish the classificati
- Your organization uses a classification tag named data_domain across multiple Azure Databricks workspaces. Administrators need to restrict the tag to approved values and control which users and groups
- You manage a Unity Catalog catalog named finance that contains dozens of Delta tables, and new tables are added every week. Several columns across these tables hold personally identifiable information
- In a Unity Catalog metastore, a governance team must guarantee that sensitive columns tagged pii stay masked across an entire catalog. A specific concern is that individual table owners have previousl
- You are preparing governed tags to drive ABAC in a Unity Catalog account. Analysts have historically labeled sensitivity by typing free-form values such as Confidential, confidential, and CONF, and th
- In an ABAC-governed Unity Catalog account, protection of pii columns depends on the governed tag pii being present on those columns. A security review warns that some data creators could remove the pi
- Your organization has one Azure Databricks account that contains multiple Unity Catalog metastores in different regions. The data-governance team wants a single classification taxonomy to serve as the
- You have an Azure Databricks account that uses governed tags as the attributes for ABAC. A team of data stewards must be able to classify tables and columns by applying the existing governed tag class
- In your ABAC design, a column mask policy on the prod catalog masks every column tagged pii:email. A security reviewer notes that the mask applies only where the pii:email tag is present and asks how
- In your Azure Databricks account, different teams tag sensitive columns inconsistently, using PII, pii, and personal for the same concept, which breaks ABAC policies that expect a fixed vocabulary. Yo
- An ABAC policy applies filters or masks automatically to every tag-matched object
An attribute-based access control (ABAC) policy is attached at a catalog, schema, or table and uses governed-tag conditions to apply a row filter or column mask to every current and future object carrying the matching tag, so one policy governs many tables at once.
Trap ABAC scales a single tag-driven policy across many tables; a table-level SET MASK or SET ROW FILTER must be configured on each table individually.
10 questions test this
- Your organization uses a classification tag named data_domain across multiple Azure Databricks workspaces. Administrators need to restrict the tag to approved values and control which users and groups
- You manage a Unity Catalog catalog named finance that contains dozens of Delta tables, and new tables are added every week. Several columns across these tables hold personally identifiable information
- In a Unity Catalog metastore, a governance team must guarantee that sensitive columns tagged pii stay masked across an entire catalog. A specific concern is that individual table owners have previousl
- You are preparing governed tags to drive ABAC in a Unity Catalog account. Analysts have historically labeled sensitivity by typing free-form values such as Confidential, confidential, and CONF, and th
- A governance admin created an ABAC column mask policy at a catalog to mask pii-tagged columns for the analyst group. The analysts report that they cannot query the tables at all and receive an error i
- You have a Unity Catalog catalog named sales whose tables each contain a column that is labeled with the governed tag region. Requirements: members of the EMEA team must see only the rows whose region
- You have an Azure Databricks catalog named finance whose tables include a column labeled with the governed tag pii:card, and new tables carrying that tag are onboarded every week. Analysts must be abl
- In an ABAC-governed Unity Catalog account, protection of pii columns depends on the governed tag pii being present on those columns. A security review warns that some data creators could remove the pi
- In your ABAC design, a column mask policy on the prod catalog masks every column tagged pii:email. A security reviewer notes that the mask applies only where the pii:email tag is present and asks how
- You have an Azure Databricks account with Unity Catalog. A catalog named corp contains several schemas, including a schema named hr whose tables have columns labeled with a governed tag. You need a si
- Tags assigned to a parent object are inherited by child objects
A governed tag applied to a catalog or schema is inherited by the schemas and tables beneath it, but not by individual table columns, so tagging a parent propagates the attribute that ABAC policies and discovery rely on to descendant tables; a column-level classification must be tagged on the column directly.
- A row filter removes whole rows via ALTER TABLE ... SET ROW FILTER
A row filter is a boolean SQL UDF attached with ALTER TABLE SET ROW FILTER; the function is evaluated per row and returns TRUE to keep the row or FALSE/NULL to drop it, so it controls which entire rows a principal sees at query time.
Trap A row filter removes whole rows and cannot reveal only part of a column value; use a column mask for partial redaction.
19 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Applicants contains an ssn column. Requirements: analysts must be able to see only the last four character
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Transactions that is loaded by a production pipeline and queried by auditors. Requirem
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Patients with a diagnosis column. Requirements: members of the CareTeam group must see
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Patients with a diagnosis column. Requirements: members of the CareTeam group must see
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Ledger. Each user must be exposed only the rows for the business units they are author
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named sales_cat contains a table named Orders that stores sales records for every region in a region column. Business analys
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Applicants contains an ssn column. Requirements: analysts must be able to see only the last four character
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Accounts has an owner_email column. Each analyst must see only the rows where owner_email matches their own login, all d
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Customers contains a phone_number column. A support team must continue to query every customer row in Customers but must
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named HR_Records must be governed so that: analysts see only the rows for their own region; within the rows they can see, the
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Transactions that is loaded by a production pipeline and queried by auditors. Requirem
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Members has a passport_number column. A reporting team must keep running their existing SELECT * queries against Members
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Deals stores opportunities for every region in a region column. Analysts already hold the SELECT privilege
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Leads with an email column. Requirements: marketing analysts must be able to analyze t
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Customers contains name, address, and country columns and is queried by several regional support teams. Re
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Projects that is the single source of truth for all project records. Requirements: ext
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Members with a country column and a national_id column. Requirements: analysts must se
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Invoices holds records for every branch in a branch column. Requirements: each sales representative must s
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Contacts whose phone, email, and ssn columns must all be redacted to non-privileged us
- A column mask redacts values via ALTER TABLE ... ALTER COLUMN ... SET MASK
A column mask is a SQL UDF attached with ALTER TABLE ALTER COLUMN SET MASK; it rewrites each returned value at query time, for example showing only the text after the @ in an email or only the last four digits of a card, while every row is still returned.
Trap Masking only sensitive columns while keeping table SELECT follows least privilege and lets queries run without errors, unlike revoking column access.
19 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Applicants contains an ssn column. Requirements: analysts must be able to see only the last four character
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Transactions that is loaded by a production pipeline and queried by auditors. Requirem
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Patients with a diagnosis column. Requirements: members of the CareTeam group must see
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Patients with a diagnosis column. Requirements: members of the CareTeam group must see
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Ledger. Each user must be exposed only the rows for the business units they are author
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named sales_cat contains a table named Orders that stores sales records for every region in a region column. Business analys
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Applicants contains an ssn column. Requirements: analysts must be able to see only the last four character
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Accounts has an owner_email column. Each analyst must see only the rows where owner_email matches their own login, all d
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Customers contains a phone_number column. A support team must continue to query every customer row in Customers but must
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named HR_Records must be governed so that: analysts see only the rows for their own region; within the rows they can see, the
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Transactions that is loaded by a production pipeline and queried by auditors. Requirem
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named Members has a passport_number column. A reporting team must keep running their existing SELECT * queries against Members
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Deals stores opportunities for every region in a region column. Analysts already hold the SELECT privilege
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Leads with an email column. Requirements: marketing analysts must be able to analyze t
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Customers contains name, address, and country columns and is queried by several regional support teams. Re
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Projects that is the single source of truth for all project records. Requirements: ext
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Members with a country column and a national_id column. Requirements: analysts must se
- You have an Azure Databricks workspace enabled for Unity Catalog. A managed Delta table named Invoices holds records for every branch in a branch column. Requirements: each sales representative must s
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Contacts whose phone, email, and ssn columns must all be redacted to non-privileged us
- Row filters and column masks attach to base tables, not to standard views
Table-level row filters and column masks are attached to base tables and cannot be placed on a standard view, while ABAC policies extend the same row-filter and column-mask protection to materialized views and streaming tables; once attached they are enforced for every query through any SQL warehouse, notebook, or client.
- delta.deletedFileRetentionDuration sets the VACUUM retention window
The table property delta.deletedFileRetentionDuration defines how long removed data files are retained before VACUUM is permitted to delete them, defaulting to 7 days; raising it lengthens the window during which older versions stay recoverable.
18 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. It contains a Unity Catalog managed Delta table named Orders on which predictive optimization runs VACUUM automatically. A new complia
- You have a managed Delta table named Events in Unity Catalog. An engineer set only delta.logRetentionDuration to a large value expecting longer time travel, but TIMESTAMP AS OF queries against Events
- You have a Delta table named Customers that stores personal data. To support time travel, delta.deletedFileRetentionDuration was previously raised to interval 60 days, so files removed by deletes now
- You have an Azure Databricks workspace enabled for Unity Catalog. It contains a Unity Catalog managed Delta table named Orders on which predictive optimization runs VACUUM automatically. A new complia
- You have a Delta table named Clickstream. A daily OPTIMIZE job compacts small files, and VACUUM then reclaims the pre-compaction files on the default schedule. Data scientists report that time travel
- You have an Azure Databricks workspace with a Delta table named Ledger. Auditors must be able to reference older table versions by version number and timestamp for as long as the commit history is kep
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a Unity Catalog managed Delta table named LedgerHistory. Auditors must be able to query the table at any point in
- You have a managed Delta table named Inventory in Unity Catalog. After a bad batch load, you try to run RESTORE TABLE Inventory TO VERSION AS OF an older version from three weeks ago, but the command
- You have a new Delta table named Sales in an Azure Databricks workspace. Auditors must be able to run DESCRIBE HISTORY on Sales and see 60 days of operation history going forward. The data files will
- You have an Azure Databricks workspace with a Delta table named Transactions. The data governance team requires that time-travel queries reliably return any table version from at least the last 90 day
- You are configuring a new managed Delta table named Telemetry in Unity Catalog. Analysts must be able to run point-in-time queries for the preceding 30 days, and a nightly job will continue to run VAC
- You have a managed Delta table named Events in Unity Catalog. An engineer set only delta.logRetentionDuration to a large value expecting longer time travel, but TIMESTAMP AS OF queries against Events
- You have a Delta table named Shipments. Data files are retained well beyond 45 days because delta.deletedFileRetentionDuration was raised. You need future time-travel queries to reach 45 days back, an
- You have a managed Delta table named Contacts in Unity Catalog. A data-minimization policy states that the table's operation history metadata must not be kept longer than 14 days, but the ability to r
- You have an Azure Databricks workspace with a managed Delta table named Inventory. You need to lengthen the window during which data files removed by an update or delete stay physically present so tha
- You have an Azure Databricks workspace enabled for Unity Catalog that contains a managed Delta table named Orders. Predictive optimization runs VACUUM on Orders automatically. Analysts must be able to
- You have an Azure Databricks workspace with a managed Delta table named Warehouse. Some ETL jobs against Warehouse run for two to three days and write files that are not committed until the job finish
- You have a Delta table named Payments. A team currently reclaims storage by running VACUUM Payments RETAIN 336 HOURS by hand, but they sometimes forget the clause and files are purged at the 7-day def
- delta.logRetentionDuration bounds how far back time travel can go
The table property delta.logRetentionDuration controls how long transaction-log history is kept, defaulting to 30 days, which bounds the versions and timestamps that time-travel queries can reference.
18 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. It contains a Unity Catalog managed Delta table named Orders on which predictive optimization runs VACUUM automatically. A new complia
- You have a managed Delta table named Events in Unity Catalog. An engineer set only delta.logRetentionDuration to a large value expecting longer time travel, but TIMESTAMP AS OF queries against Events
- You have a Delta table named Customers that stores personal data. To support time travel, delta.deletedFileRetentionDuration was previously raised to interval 60 days, so files removed by deletes now
- You have an Azure Databricks workspace enabled for Unity Catalog. It contains a Unity Catalog managed Delta table named Orders on which predictive optimization runs VACUUM automatically. A new complia
- You have a managed Delta table named Metrics in Unity Catalog. A compliance rule requires that DESCRIBE HISTORY on Metrics keep listing write operations for the last 90 days, and this listing must rem
- You have a Delta table named Clickstream. A daily OPTIMIZE job compacts small files, and VACUUM then reclaims the pre-compaction files on the default schedule. Data scientists report that time travel
- You have an Azure Databricks workspace with a Delta table named Ledger. Auditors must be able to reference older table versions by version number and timestamp for as long as the commit history is kep
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a Unity Catalog managed Delta table named LedgerHistory. Auditors must be able to query the table at any point in
- You have a managed Delta table named Inventory in Unity Catalog. After a bad batch load, you try to run RESTORE TABLE Inventory TO VERSION AS OF an older version from three weeks ago, but the command
- You have a new Delta table named Sales in an Azure Databricks workspace. Auditors must be able to run DESCRIBE HISTORY on Sales and see 60 days of operation history going forward. The data files will
- You have a managed Delta table named AuditLog in a Unity Catalog catalog. A compliance policy requires that DESCRIBE HISTORY on AuditLog can list write operations going back several months for review,
- You have an Azure Databricks workspace with a Delta table named Transactions. The data governance team requires that time-travel queries reliably return any table version from at least the last 90 day
- You are configuring a new managed Delta table named Telemetry in Unity Catalog. Analysts must be able to run point-in-time queries for the preceding 30 days, and a nightly job will continue to run VAC
- You have a managed Delta table named Events in Unity Catalog. An engineer set only delta.logRetentionDuration to a large value expecting longer time travel, but TIMESTAMP AS OF queries against Events
- You have a Delta table named Shipments. Data files are retained well beyond 45 days because delta.deletedFileRetentionDuration was raised. You need future time-travel queries to reach 45 days back, an
- You have a managed Delta table named Contacts in Unity Catalog. A data-minimization policy states that the table's operation history metadata must not be kept longer than 14 days, but the ability to r
- You have an Azure Databricks workspace with a managed Delta table named Inventory. You need to lengthen the window during which data files removed by an update or delete stay physically present so tha
- You have a Delta table named Payments. A team currently reclaims storage by running VACUUM Payments RETAIN 336 HOURS by hand, but they sometimes forget the clause and files are purged at the 7-day def
- Running VACUUM permanently deletes old files and forfeits earlier time travel
VACUUM permanently removes data files that are no longer referenced by the latest table state and are older than the retention threshold, after which you can no longer time-travel to a version whose files were purged, trading storage cost against recoverability.
- Unity Catalog captures lineage automatically down to the column level
For queries and workflows run on Azure Databricks, Unity Catalog captures runtime data lineage automatically down to the column level with no configuration, and aggregates it across every workspace attached to the metastore.
10 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A Salesforce extract is loaded by an external ETL tool into a Unity Catalog table named bronze.crm.leads, and a Power BI report consum
- You have an Azure Databricks workspace that is enabled for Unity Catalog. The managed table silver.customers contains a column named customer_email that is classified as PII. To scope a privacy review
- A Unity Catalog table is produced by an Azure Databricks notebook job in Workspace1 and consumed by a Databricks SQL dashboard in Workspace2. Both workspaces are attached to the same Unity Catalog met
- Your company has two Azure Databricks workspaces, WorkspaceA and WorkspaceB, that are both attached to the same Unity Catalog metastore. An ETL job in WorkspaceA writes a Unity Catalog table named sal
- You have an Azure Databricks workspace named Workspace1 that is enabled for Unity Catalog. A Lakeflow pipeline populates the managed table sales.customers, whose email column feeds several downstream
- A Unity Catalog metastore is attached to several Azure Databricks workspaces. A data engineer must perform impact analysis for a proposed change to a finance table, including dependencies created in t
- You have an Azure Databricks workspace named Workspace1 that is attached to a Unity Catalog metastore. A data engineering team runs Spark SQL and DataFrame ETL notebooks on Azure Databricks compute th
- You have an Azure Databricks workspace that is enabled for Unity Catalog. For a compliance audit you must demonstrate where the regulated column in the managed table pii.accounts originates and every
- You have an Azure Databricks workspace enabled for Unity Catalog. A Delta table named gold.finance.revenue has a column named net_revenue, and an analyst reports an unexpected value in it. Before you
- You have two Azure Databricks workspaces, Workspace1 and Workspace2, that are both attached to the same Unity Catalog metastore named metastore1. A job in Workspace2 writes to the managed table sales.
- Catalog Explorer shows owner, history, dependencies, and upstream/downstream lineage
The Catalog Explorer Lineage tab renders an interactive graph of upstream and downstream tables, columns, notebooks, jobs, and dashboards alongside the object owner and history, so you can trace dependencies before changing or deleting an object.
13 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A Salesforce extract is loaded by an external ETL tool into a Unity Catalog table named bronze.crm.leads, and a Power BI report consum
- You have an Azure Databricks workspace that is enabled for Unity Catalog. The managed table silver.customers contains a column named customer_email that is classified as PII. To scope a privacy review
- A data engineer plans to change a Unity Catalog table. Before making the change, the engineer needs to identify upstream tables that supply its data and downstream tables, jobs, notebooks, and dashboa
- A Unity Catalog table is produced by an Azure Databricks notebook job in Workspace1 and consumed by a Databricks SQL dashboard in Workspace2. Both workspaces are attached to the same Unity Catalog met
- You have an Azure Databricks workspace enabled for Unity Catalog. A dashboard built on gold.sales.daily_totals suddenly shows inflated numbers. You need to trace daily_totals back through its transfor
- Your company has two Azure Databricks workspaces, WorkspaceA and WorkspaceB, that are both attached to the same Unity Catalog metastore. An ETL job in WorkspaceA writes a Unity Catalog table named sal
- You have an Azure Databricks workspace that is enabled for Unity Catalog. You must decommission the managed table bronze.raw_events, but first you have to review its captured downstream lineage - incl
- You have an Azure Databricks workspace that is enabled for Unity Catalog. Before you request a change to the managed table sales.orders, a data steward must (1) find the object's current owner so the
- You have an Azure Databricks workspace named Workspace1 that is attached to a Unity Catalog metastore. A data engineering team runs Spark SQL and DataFrame ETL notebooks on Azure Databricks compute th
- You have an Azure Databricks workspace that is enabled for Unity Catalog. For a compliance audit you must demonstrate where the regulated column in the managed table pii.accounts originates and every
- You have an Azure Databricks workspace enabled for Unity Catalog. A Delta table named gold.finance.revenue has a column named net_revenue, and an analyst reports an unexpected value in it. Before you
- You have an Azure Databricks workspace enabled for Unity Catalog. A table named finance.reporting.gl_summary is about to be modified. Before making the change, you must find out who currently owns the
- You have an Azure Databricks workspace that is enabled for Unity Catalog. Before you change the schema of gold.revenue, you need a single interactive view that shows both the upstream tables that feed
- Unity Catalog audit events are queryable in the system.access.audit table
The system.access.audit system table records account- and workspace-level audit events, capturing which principal accessed which securable and what action was taken, and retains them for up to one year for security and compliance analysis.
7 questions test this
- Fabrikam streams its Azure Databricks workspace-level diagnostic logs to a Log Analytics workspace through Azure diagnostic settings. During an audit, the security team finds that account-level events
- You have an Azure Databricks workspace enabled for Unity Catalog. A security engineer investigating an incident needs to see, for a sensitive catalog, every GRANT and REVOKE performed on its securable
- Woodgrove Bank runs an Azure Databricks account with several workspaces in the same Azure region, all attached to one Unity Catalog metastore. During a compliance review, an auditor asks for a single
- The security policy at Contoso forbids copying audit data outside the Azure Databricks platform because of the sensitive information it contains. The governance team still needs to analyze which princ
- You have an Azure Databricks workspace named Workspace1 on the Premium plan that is enabled for Unity Catalog. Your security operations team already uses Azure Monitor to investigate telemetry from th
- You have an Azure Databricks workspace on the Premium plan. Your security operations center runs a third-party (non-Microsoft) SIEM product and must ingest the workspace audit events in near real time
- You have an Azure Databricks workspace enabled for Unity Catalog. An auditor asks for a report of all governance actions performed against securables over the last eight months. The solution must not
- Azure diagnostic settings deliver Databricks audit logs to Log Analytics
Configuring Azure diagnostic settings on the workspace streams Azure Databricks diagnostic (audit) logs to a Log Analytics workspace, a storage account, or Event Hubs for long-term retention, querying, and alerting in Azure Monitor.
6 questions test this
- Fabrikam streams its Azure Databricks workspace-level diagnostic logs to a Log Analytics workspace through Azure diagnostic settings. During an audit, the security team finds that account-level events
- Woodgrove Bank runs an Azure Databricks account with several workspaces in the same Azure region, all attached to one Unity Catalog metastore. During a compliance review, an auditor asks for a single
- The security policy at Contoso forbids copying audit data outside the Azure Databricks platform because of the sensitive information it contains. The governance team still needs to analyze which princ
- A platform team at Contoso wants a single, workspace-level configuration that can route Azure Databricks audit logs to whichever Azure service each consumer needs - a storage account for archival, an
- You have an Azure Databricks workspace named Workspace1 on the Premium plan that is enabled for Unity Catalog. Your security operations team already uses Azure Monitor to investigate telemetry from th
- You have an Azure Databricks workspace on the Premium plan. Your security operations center runs a third-party (non-Microsoft) SIEM product and must ingest the workspace audit events in near real time
- Verbose audit logging adds notebook and SQL command events
Enabling verbose audit logging records additional fine-grained events such as commandSubmit, commandFinish, and runCommand, capturing notebook-cell and SQL-warehouse command activity that standard audit logging omits.
- Databricks-to-Databricks sharing needs no token when the recipient has Unity Catalog
When the recipient also has a Unity Catalog-enabled workspace, a recipient of authentication type DATABRICKS shares data over a secure Databricks-managed channel identified by a sharing identifier, so no bearer token is created or managed and identity, authentication, and auditing are handled by the platform.
Trap Databricks-to-Databricks sharing eliminates token management; only open sharing to a non-Databricks recipient issues a bearer token.
12 questions test this
- Your company shares Delta tables with a subsidiary that runs Databricks on a different cloud and in a separate Databricks account. Both your metastore and the subsidiary's metastore are enabled for Un
- Your company shares Delta tables with a subsidiary that runs Databricks on a different cloud and in a separate Databricks account. Both your metastore and the subsidiary's metastore are enabled for Un
- You have an Azure Databricks workspace enabled for Unity Catalog and must share the same Delta table with two recipients. RecipientA works in a separate Unity Catalog-enabled Databricks workspace. Rec
- Your company shares Delta tables with a subsidiary that runs Databricks on a different cloud and in a separate Databricks account. Both your metastore and the subsidiary's metastore are enabled for Un
- You have an Azure Databricks workspace enabled for Unity Catalog and already use Databricks-to-Databricks sharing to share tables with a partner business unit on another Unity Catalog metastore. An au
- Your data platform team manages two Unity Catalog metastores in the same Azure Databricks account: metastore A, which holds a curated Sales catalog, and metastore B, used by another business unit. You
- You have an Azure Databricks workspace enabled for Unity Catalog and share a table with an external partner using Databricks-to-Open sharing with a bearer token. The partner's contract has ended and y
- You have an Azure Databricks workspace named Providerws that is enabled for Unity Catalog and manages a Delta table named Sales1. A partner organization runs its own Azure Databricks workspace that is
- You have an Azure Databricks workspace enabled for Unity Catalog and a Delta table named Metrics. You must share Metrics with an external analytics partner who does not use Databricks and has no acces
- You have an Azure Databricks workspace enabled for Unity Catalog and want to set up Databricks-to-Databricks sharing with a recipient team that also uses a Unity Catalog-enabled workspace. Before you
- You have an Azure Databricks workspace enabled for Unity Catalog and need to share assets with a data science team in a different Databricks account on another cloud whose workspace is enabled for Uni
- You have an Azure Databricks workspace enabled for Unity Catalog. You must share a set of Delta tables with a partner so that the partner can use their own Unity Catalog to grant and revoke access to
- Open sharing uses a bearer token and credential file for non-Databricks recipients
Open sharing (the Databricks-to-Open protocol) reaches recipients on any platform by authenticating a recipient of type TOKEN using a long-lived bearer token or OIDC (OpenID Connect) federation, where the recipient presents a short-lived token minted by its own identity provider instead of a stored Databricks credential; for a token, Databricks generates a credential file delivered via an activation link that must be secured and rotated.
14 questions test this
- Your company shares Delta tables with a subsidiary that runs Databricks on a different cloud and in a separate Databricks account. Both your metastore and the subsidiary's metastore are enabled for Un
- Your company shares Delta tables with a subsidiary that runs Databricks on a different cloud and in a separate Databricks account. Both your metastore and the subsidiary's metastore are enabled for Un
- You have an Azure Databricks workspace enabled for Unity Catalog and must share the same Delta table with two recipients. RecipientA works in a separate Unity Catalog-enabled Databricks workspace. Rec
- You have an Azure Databricks workspace enabled for Unity Catalog and use Databricks-to-Open sharing to share a table with an external recipient using a bearer token. You discover that the recipient's
- Your company shares Delta tables with a subsidiary that runs Databricks on a different cloud and in a separate Databricks account. Both your metastore and the subsidiary's metastore are enabled for Un
- You have an Azure Databricks workspace enabled for Unity Catalog and must share data with an external partner that does not use Databricks. Your security policy states that no long-lived static shared
- Your data platform team manages two Unity Catalog metastores in the same Azure Databricks account: metastore A, which holds a curated Sales catalog, and metastore B, used by another business unit. You
- You have an Azure Databricks workspace enabled for Unity Catalog and share a table with an external partner using Databricks-to-Open sharing with a bearer token. The partner's contract has ended and y
- You have an Azure Databricks workspace named Providerws that is enabled for Unity Catalog and manages a Delta table named Sales1. A partner organization runs its own Azure Databricks workspace that is
- You have an Azure Databricks workspace enabled for Unity Catalog and a Delta table named Metrics. You must share Metrics with an external analytics partner who does not use Databricks and has no acces
- You have an Azure Databricks workspace enabled for Unity Catalog and share a Delta table with an external partner using Databricks-to-Open sharing with a bearer token. The partner does not use Databri
- Woodgrove Bank uses token-authenticated OpenSharing recipients. After the metastore's default recipient token lifetime is lowered to 90 days, three existing recipients still have their original long-l
- You have an Azure Databricks workspace enabled for Unity Catalog and share a table with an external partner using Databricks-to-Open sharing with a bearer token. The provider has SecureConnect enabled
- You have an Azure Databricks workspace enabled for Unity Catalog. You must share a set of Delta tables with a partner so that the partner can use their own Unity Catalog to grant and revoke access to
A secure OpenSharing (previously Delta Sharing) strategy creates a share, adds only the specific tables or views to be exposed, and grants that share to a defined recipient, so the recipient receives read-only access to just the shared objects rather than to the whole metastore. OpenSharing names the feature; its two recipient modes are Databricks-to-Databricks sharing, which needs no token, and open sharing (the Databricks-to-Open protocol), which issues one.
When a table is added to a share you can supply a partition specification that references a recipient property instead of a literal, for example ALTER SHARE acme ADD TABLE acme.default.some_table PARTITION (country = CURRENT_RECIPIENT().country). Databricks then delivers to each recipient only the rows whose column value equals that recipient's property value, so the same share and the same table can be granted to many recipients across different accounts, workspaces and metastores while data boundaries are preserved. The documentation states that without this parameterized partition sharing you would have to create a separate share for each recipient.
Trap Believing that giving two partners different row subsets of the same table requires two shares (or two derived tables), because a share is a static list of objects and cannot be evaluated per recipient.
3 questions test this
- Relecloud is an OpenSharing provider on an Azure Databricks workspace that is enabled for Unity Catalog. A Delta table named mobility_gold.fleet.trip_legs has a territory column and is already deliver
- You are the OpenSharing provider for an Azure Databricks workspace that is enabled for Unity Catalog. A Delta table named energy_gold.grid.meter_reads has a market_code column and is delivered to five
- Contoso is an OpenSharing provider on a Unity Catalog-enabled Azure Databricks workspace and manages a Delta table named sales.gold.transactions that has a country column. Three partner organizations,
Every recipient object carries predefined properties that begin with 'databricks.': databricks.accountId and databricks.metastoreId identify the recipient's Databricks account and Unity Catalog metastore and are documented as Databricks-to-Databricks sharing ONLY, while databricks.name is simply the recipient's name and is the property surfaced for open (token-authenticated) recipients. Any additional key you need for filtering must be created as a custom property, either at creation time with CREATE RECIPIENT ... PROPERTIES ('country' = 'us') or afterwards with ALTER RECIPIENT ... SET PROPERTIES / UNSET PROPERTIES. So a design that partitions shared data by Databricks account ID works only when every recipient is on Unity Catalog; an open recipient needs a custom property instead.
Trap Assuming databricks.accountId or databricks.metastoreId can be used to partition data for a non-Databricks (bearer-token / open sharing) recipient, since the recipient object exists in both sharing modes.
A share partition filter expresses a single equality between a table column and a recipient property, so it can withhold rows but cannot alter the value a recipient sees in a column. To vary column values per recipient the provider creates a view whose definition calls CURRENT_RECIPIENT('') inside a CASE expression — for example returning the pii column when CURRENT_RECIPIENT('country') = 'US' and the literal 'REDACTED' otherwise — and then adds that view to the share exactly as a normal view. The same function also supports row-level predicates in a view (WHERE country = CURRENT_RECIPIENT('country')), and providers cannot create another view that references a dynamic view.
Trap Believing a share partition filter can mask or redact a sensitive column per recipient, rather than only filtering which rows are delivered.
3 questions test this
- You are an OpenSharing provider on an Azure Databricks workspace that is enabled for Unity Catalog. A shared view named insure_gold.policy.policy_quotes_scoped returns the premium column only when the
- Fourth Coffee is an OpenSharing provider on an Azure Databricks workspace that is enabled for Unity Catalog. A Delta table named insure_gold.claims.loss_runs has a territory column and is delivered th
- You are the OpenSharing provider for a Unity Catalog metastore. One share delivers the table sales.gold.claims to several external recipients, each with a country property on its recipient object. A n
A view that calls CURRENT_RECIPIENT is for sharing only: when the provider selects from it in their own workspace the function evaluation fails for lack of a sharing context, so the query errors rather than returning unfiltered data. The two documented ways to test it are to mock the context in the session with SET RECIPIENT , which sets CURRENT_RECIPIENT for that session, or to share the view with yourself and query it as a recipient.
Trap Assuming the provider can smoke-test a dynamic view by simply running SELECT * on it before sharing, and that the result would show the unfiltered base rows.
- Row filter and column mask UDFs run with definer's rights, except user-context functions which evaluate as the invoker
The documentation states that all filters run with definer's rights except for functions that check user context — for example SESSION_USER and IS_ACCOUNT_GROUP_MEMBER — which run as the invoker. That combination is what makes the mapping-table (access-control-list) pattern work: a filter such as RETURN EXISTS(SELECT 1 FROM valid_users v WHERE v.username = SESSION_USER()) reads the entitlement table under the function definer's rights while still resolving the identity of whoever ran the query, so the querying user does not need to be granted access to the entitlement table itself.
Trap Concluding that a mapping-table-driven row filter fails unless every end user is also granted SELECT on the mapping table, since the filter reads that table during their query.
2 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Claims in a catalog named insurance. Entitlements live in a separate table named agent
- Alpine Ski House has an Azure Databricks workspace that is enabled for Unity Catalog. A managed Delta table named health_gold.records.visit_notes carries a column mask on its clinician_note column. Th
- A UDF parameter type that does not match its column is implicitly cast, and with ANSI mode off uncastable values become NULL, silently defeating the filter
The data type of each table column passed to a row filter or column mask must match the corresponding UDF parameter type; on a mismatch Databricks implicitly casts the column value. With spark.sql.ansi.enabled = false, values that cannot be cast are converted to NULL with no error raised, so a filter written as RETURN dept IS NULL over a STRING column bound to an INT parameter evaluates to true for every row and the query returns the entire table. Databricks recommends enabling ANSI mode so a failed cast raises an error and the defect is visible instead of silently returning the wrong rows or masking the wrong values.
Trap Assuming a type mismatch between the column and the UDF parameter is always caught at ALTER TABLE time or raises an error at query time, so a filter can never silently fail open.
3 questions test this
- Contoso Communications has an Azure Databricks workspace that is enabled for Unity Catalog and for serverless compute. A managed Delta table named telco_gold.billing.Subscribers carries a column mask
- Fabrikam Logistics has an Azure Databricks workspace that is enabled for Unity Catalog. A release pipeline applies row filters and column masks to dozens of managed Delta tables, binding each policy U
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A managed Delta table named Employees has a department column of type STRING. To expose only the records that are not yet assi
- Reading a filtered or masked table requires a SQL warehouse, standard access mode, or dedicated access mode on a recent LTS runtime or serverless compute with serverless enabled
To query a table carrying a row filter or a column mask the compute must be a SQL warehouse, standard access mode on a supported Databricks Runtime, or dedicated access mode on a more recent long-term-support runtime - and dedicated access mode additionally requires the workspace to be enabled for serverless compute, because the fine-grained access control that enforces the policy runs on serverless and can incur serverless charges. Dedicated compute on a runtime below that floor cannot read such a table at all, writing from dedicated compute needs a newer runtime still, and a runtime below the supported floor fails SECURELY: it returns no data rather than returning the table unfiltered.
Trap Believing that because Unity Catalog enforces the policy centrally, any Unity Catalog-enabled cluster can read the table - and that an unsupported runtime would fall back to showing the unfiltered rows.
2 questions test this
- Northwind Traders has an Azure Databricks workspace that is enabled for Unity Catalog and for serverless compute. A managed Delta table named retail_gold.finance.invoice_lines carries a column mask on
- You have an Azure Databricks workspace that is enabled for Unity Catalog but is NOT enabled for serverless compute. A managed Delta table named Payments in a catalog named finance carries a column mas
- Dropping the filter or mask UDF before detaching it from the table leaves the table in an inaccessible state
The policy must be removed from the table first — ALTER TABLE DROP ROW FILTER, or ALTER TABLE ALTER COLUMN DROP MASK — and only then DROP FUNCTION. If the function is dropped first the table is left holding an orphaned policy reference and becomes inaccessible; recovery is to run the same ALTER TABLE ... DROP ROW FILTER / DROP MASK statement to clear the dangling reference. To change the logic without any of this, use CREATE OR REPLACE FUNCTION, which leaves the attachment intact.
Trap Expecting that dropping the masking or filtering UDF automatically detaches the policy and returns the table to unfiltered, fully readable behaviour.
- Data Classification is enabled per catalog by its owner or a MANAGE holder, and only a future-inclusive schema scope keeps schemas created later under scan
A catalog owner, or a principal holding MANAGE on the catalog, turns Data Classification on for that catalog, which starts an incremental background scan of its tables and records each detection as a system governed tag for the sensitive class found. The schema scope chosen at enablement decides what happens next: a scope covering selected and future schemas keeps every schema added to the catalog afterwards in the scan, while a scope limited to only the schemas selected at that moment leaves every later schema unscanned until someone reopens the configuration. Choose the future-inclusive scope whenever the requirement is that newly created data be discovered without ongoing manual configuration, and remember that enabling classification on one catalog says nothing about other catalogs in the metastore.
Trap Believing that once Data Classification is enabled on a catalog everything beneath it is permanently covered, so schemas created after enablement are scanned regardless of which schema scope was selected.
2 questions test this
- You have an Azure Databricks workspace that is enabled for Unity Catalog. A catalog named hr_prod is owned by a group named Governance. A data steward named Steward1 must be able to turn on Data Class
- You have an Azure Databricks workspace enabled for Unity Catalog. Six months ago, Data Classification was enabled on a catalog named retail_prod with a schema scope limited to the schemas that existed
- Data Classification finds and labels sensitive columns but does not restrict access to them, so a requirement that a group must not see the values still needs a masking control
The output of a classification scan is a governed tag recording that a sensitive class was detected in a column; the tag changes discovery and policy targeting, not who can read the data. A requirement that a group must not see sensitive values is still met by a masking control — an attribute-based access control policy, a column mask, or a secure view — with classification supplying the tags that control matches on. Read the requirement in the other direction too: classification is the right answer when newly created tables must be found without anyone hand-building an inventory of sensitive columns, and views and metric views are never scanned, so a view over sensitive data is addressed by classifying its underlying tables.
Trap Treating enablement of the scan as the access control itself — answering that turning Data Classification on stops an analyst group from reading the columns it detected as PII.
2 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named ops_prod contains a schema named curated that holds a view named vw_customer_360 built on tables in a schema named raw
- You have an Azure Databricks workspace enabled for Unity Catalog. A catalog named ops_prod contains a schema named curated that holds a view named vw_customer_360 built on tables in a schema named raw
- Automatic tagging of detected columns is a separate switch from classification, with its own privilege set and a catalog setting that overrides the metastore default
Starting the scan and applying the detected class tags are two different settings: tagging additionally requires USE CATALOG and APPLY TAG on the catalog plus ASSIGN on the tag being applied, and the classification system tags are account-admin-controlled by default, so a data steward who can enable the scan may still be unable to enable tagging. A catalog-level tagging setting overrides the metastore-level default, which is how one catalog can tag automatically while the rest of the metastore does not. Turning tagging on tags existing detections on the next scan rather than backfilling them at once, and turning it off stops future tags without removing the tags already applied.
Trap Assuming whoever can enable Data Classification on a catalog can also enable automatic tagging, and that flipping tagging on immediately tags every column already detected while flipping it off removes them.
3 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A data steward holds the MANAGE privilege on a catalog named sales_prod and has enabled Data Classification on it. The results page li
- You have an Azure Databricks workspace enabled for Unity Catalog. Data Classification has been running on a catalog named fin_prod for several weeks, and the review panel lists 900 columns detected as
- You have an Azure Databricks workspace enabled for Unity Catalog. At the metastore level, automatic tagging for the class.email_address classification is disabled. A catalog named pci_prod must have t
What a share may carry is decided by the recipient's protocol, not by how the share is built: a recipient on their own Unity Catalog metastore can receive notebooks, volumes and models alongside tables and views, while an open-protocol recipient reached through a credential file can receive tabular assets only. A requirement to hand a non-Databricks partner raw files or a notebook is therefore not satisfied by adding those assets to the share and needs a different delivery path. Views, materialized views and streaming tables are shareable, but an open recipient receives only the current snapshot with no time travel, streaming read or change data feed, and the provider materializes and filters those assets at its own cost — which is what makes a curated view an expensive answer to a cheap requirement.
Trap Believing a volume or a notebook added to the share will reach any recipient once they hold the credential file, since a credential file is all an external partner needs to read shared tables.
3 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog that contains a share named Share1. Share1 is granted to Recipient1, a market-research firm with no Databricks workspace that reads Sha
- You have an Azure Databricks workspace enabled for Unity Catalog. You add a curated view named View1 to a share that is granted to Recipient1, a partner with no Databricks workspace that reads the sha
- You have an Azure Databricks workspace enabled for Unity Catalog. Share1 contains Delta tables, a Unity Catalog model, and two notebook files, and it is granted to Partner1, which uses a Unity Catalog
The history option is chosen from what the consumer must be able to do: without history the recipient sees the current state only, and with history they can query earlier versions, consume the table as a Structured Streaming source, and run transactional reads. Change data feed must already be enabled on the table before it is shared with history for the recipient's change queries to return anything, so enabling it after the fact does not retroactively serve them. A table that uses deletion vectors or column mapping cannot be shared at all unless it is shared with history.
Trap Assuming a recipient can time travel or run an incremental stream against any shared Delta table because the provider's transaction log still holds the older versions, making the history option a storage-cost decision rather than a capability decision.
3 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. A frequently updated managed Delta table named Table1 has deletion vectors enabled. You must add Table1 to Share1 for a recipient on a
- You have an Azure Databricks workspace enabled for Unity Catalog. A Delta table named Table1 was added to Share1 WITHOUT HISTORY, and Share1 is granted to a recipient that uses a Unity Catalog-enabled
- You have an Azure Databricks workspace enabled for Unity Catalog. Table1 is shared WITH HISTORY through Share1 with a Databricks recipient. Last week you set delta.enableChangeDataFeed to true on Tabl
Schema-level granularity is the right choice when the consumer should keep receiving whatever lands in that schema, because every supported asset added afterwards joins the share automatically and everything travels with history. The cost is that the schema itself cannot be aliased and no table inside it can be given an alias or a partition specification. A requirement to expose one table under a different name, or to expose only certain partitions of it, therefore forces asset-by-asset sharing instead of the convenience of adding the schema.
Trap Expecting to add the whole schema for convenience and then alias or partition-restrict one table inside it, as if the two granularities could be mixed on the same shared object.
3 questions test this
- You have an Azure Databricks workspace enabled for Unity Catalog. Share1 contains the entire schema catalog1.sales and is granted to a Databricks recipient. Requirements: the recipient must keep recei
- You have an Azure Databricks workspace enabled for Unity Catalog that contains a schema named catalog1.iot. A new Delta table is created in catalog1.iot every month. Requirements: a Databricks recipie
- You have an Azure Databricks workspace enabled for Unity Catalog. You add the entire schema catalog1.finance to Share1 and grant a Databricks recipient access to it. The recipient reports that two of
Prepare and process data
Data Modeling in Unity Catalog
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Ingesting Data into Unity Catalog
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Cleanse, Transform, and Load Data
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Data Quality Constraints in Unity Catalog
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Deploy and maintain data pipelines and workloads
Designing and Implementing Data Pipelines
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Implementing Lakeflow Jobs
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Development Lifecycle in Azure Databricks
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Monitoring, Troubleshooting, and Optimizing Workloads
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.