CertSafari

    Free Databricks Certified Data Analyst Associate Sample Questions

    35 free sample questions from our bank of 389+, covering every exam domain, with answers and detailed explanations. Updated September 2026.

    Domain 1: Understanding of Databricks Data Intelligence Platform

    Subdomain 1.3: Describe the role and features of Databricks Marketplace.

    1.A team building an AI agent wants the agent to call out to external tools and APIs through a standardized interface, and finds a relevant offering while browsing Databricks Marketplace. Which listing category would expose this kind of offering?

    1. A.Datasets
    2. B.AI Models
    3. C.Notebooks
    4. D.MCP Servers
    Show answer & explanation

    Correct answer: D — MCP Servers

    • A. Datasets listings expose tabular or volume-based data for querying, not a standardized interface for an agent to call external tools.
    • B. AI Models listings expose trained models for inference, not the tool-calling interface an agent uses to reach external systems.
    • C. Notebooks listings expose reference code for a use case, not a running interface an agent can call at runtime.
    • D. MCP Servers listings expose Model Context Protocol servers, which provide the tools and APIs an agent calls to interact with external systems, matching the team's need.

    Subdomain 1.2: Understand catalogs, schemas, managed and external tables, access controls, views, certified tables, and lineage within the Catalog Explorer interface.

    2.A workspace admin needs a table's data files to live in the standard managed storage path that Unity Catalog controls for its schema, rather than at a location the team chooses. Which table-creation approach achieves this?

    1. A.Run `CREATE TABLE catalog.schema.table (...)` without a `LOCATION` clause, letting Unity Catalog place the files under the schema's own managed storage path.
    2. B.Run `CREATE TABLE catalog.schema.table (...) LOCATION 's3://team-bucket/table/'`, pointing Unity Catalog at a bucket the team itself provisions and controls.
    3. C.Create the table first as external with an explicit `LOCATION`, then run `ALTER TABLE ... SET MANAGED` to move it under Unity Catalog's control.
    4. D.Upload the files directly into any cloud storage bucket and register them afterward with `MSCK REPAIR TABLE` so Unity Catalog adopts them as managed.
    Show answer & explanation

    Correct answer: A — Run `CREATE TABLE catalog.schema.table (...)` without a `LOCATION` clause, letting Unity Catalog place the files under the schema's own managed storage path.

    • A. Correct. Omitting `LOCATION` produces a managed table, and Unity Catalog automatically stores its data under the managed storage path configured for the containing schema, catalog, or metastore.
    • B. Incorrect. Supplying an explicit `LOCATION` at creation makes the table external, with Unity Catalog governing only metadata over a team-controlled bucket rather than its own managed path.
    • C. Incorrect. There is no `ALTER TABLE ... SET MANAGED` conversion path; a table's managed-versus-external type is fixed at creation and is not changed by altering it afterward.
    • D. Incorrect. `MSCK REPAIR TABLE` is a Hive-style partition-discovery command for existing metastore tables, not a mechanism for adopting arbitrary uploaded files as a Unity Catalog managed table.

    Subdomain 1.1: Describe the core components of the Databricks Intelligence Platform, including Mosaic AI, DeltaLive tables, Lakeflow Jobs, Data Intelligence Engine, Delta Lake, Unity Catalog, and Databricks SQL.

    3.A team has built an ingestion step that lands raw files, a declarative pipeline that cleans and aggregates the data, and a notebook that retrains a forecasting model, and they need all three steps to run in the correct order every night with alerting on failure. Which component should coordinate this end-to-end workflow?

    1. A.Lakeflow Jobs, which orchestrates dependent tasks across ingestion, pipelines, notebooks, and ML steps on a schedule, with retries and failure alerts built in.
    2. B.Unity Catalog, which stores governance metadata for each asset the workflow touches but has no mechanism to schedule tasks or track execution order between them.
    3. C.Databricks SQL, which lets analysts query the outputs of a finished workflow from a warehouse but does not schedule or sequence the upstream tasks themselves.
    4. D.Delta Lake, which records every table write in a transaction log for auditability but has no concept of a task, a schedule, or a dependency graph at all.
    Show answer & explanation

    Correct answer: A — Lakeflow Jobs, which orchestrates dependent tasks across ingestion, pipelines, notebooks, and ML steps on a schedule, with retries and failure alerts built in.

    • A. Coordinating multiple heterogeneous steps in a fixed order, with retries and alerting, is precisely the orchestration role that this component fills across ingestion, pipelines, notebooks, and model-training tasks.
    • B. Governance metadata and lineage tracking describe a cataloging function, not a scheduler, so this component cannot sequence the ingestion, pipeline, and notebook steps the scenario describes.
    • C. A SQL analytics surface for querying finished results is a downstream consumer of the workflow's output, not the mechanism that schedules or sequences the upstream tasks that produce it.
    • D. A storage format's transaction log records what was written and when, but it has no scheduler or dependency graph, so it cannot coordinate the ordering of separate ingestion, pipeline, and notebook tasks.

    Domain 2: Managing Data

    Subdomain 2.1: Use Unity Catalog to discover, query, and manage certified datasets.

    4.A data analyst at a retail company wants to search Catalog Explorer for only the tables that have been certified as trustworthy for analysis, without manually checking each table's status. Which search approach lets them filter the results to just certified assets?

    1. A.Enter `certificationStatus:certified` in the Catalog Explorer search box, which filters results to assets tagged with the certified system tag.
    2. B.Enter `tag:certified` in the Catalog Explorer search box, which filters results to any table carrying a user-defined tag with that exact value.
    3. C.Sort the schema's table list by the "Created" column and manually review the top entries, since certified tables are always created first.
    4. D.Open each table's Permissions tab and look for a `CERTIFIED` grant, since certification is stored as an access-control privilege.
    Show answer & explanation

    Correct answer: A — Enter `certificationStatus:certified` in the Catalog Explorer search box, which filters results to assets tagged with the certified system tag.

    • A. The `certificationStatus:certified` search keyword filters Catalog Explorer results to assets carrying the system certification tag with a certified value. This is the built-in mechanism for discovering only trustworthy, vetted datasets without opening each asset individually.
    • B. There is no `tag:certified` search syntax in Catalog Explorer, and certification is not implemented as an arbitrary user-defined tag value. Using this keyword would not reliably match certified assets.
    • C. Creation date has no relationship to certification status, since tables can be certified at any point after creation, including years later. Sorting by creation date would not surface certified assets reliably.
    • D. Certification status is not stored as a permissions grant, so there is no `CERTIFIED` entry to find on a Permissions tab. Access control and certification are separate, independently managed concepts in Unity Catalog.

    Subdomain 2.2: Use the Catalog Explorer to tag a data asset and view its lineage.

    5.A data engineer runs a query that reads a table by referencing its underlying cloud storage path, such as `s3://bucket/table-path`, rather than its `catalog.schema.table` name, then writes the transformed columns into a new Unity Catalog table. When they open the Lineage tab for the new table, what do they observe about column-level lineage?

    1. A.Column-level lineage for the new table's columns is missing, because Unity Catalog cannot capture column lineage when a source is referenced by path rather than by table name.
    2. B.Column-level lineage appears normally, because Unity Catalog resolves storage paths back to their registered table names automatically before recording any lineage relationships.
    3. C.Table-level lineage is also missing in this case, since referencing data by storage path prevents Unity Catalog from recording any lineage graph at all.
    4. D.Column-level lineage appears, but only for numeric columns, since Unity Catalog can trace storage-path-based reads solely for columns that hold a primitive numeric data type.
    Show answer & explanation

    Correct answer: A — Column-level lineage for the new table's columns is missing, because Unity Catalog cannot capture column lineage when a source is referenced by path rather than by table name.

    • A. This is correct because column-level lineage cannot be captured when a source is referenced by file path rather than by table name, which is a documented limitation distinct from table-level tracking.
    • B. This is incorrect because Unity Catalog does not silently resolve arbitrary storage paths back to registered tables for lineage purposes; the path reference itself breaks column tracing.
    • C. This is incorrect because the limitation applies specifically to column-level detail; table-level lineage can still be recorded even when a source is referenced by storage path.
    • D. This is incorrect because the path-based limitation is not restricted by data type; no column, numeric or otherwise, gets column-level lineage when the source is a storage path.

    Subdomain 2.3: Perform data cleaning on Unity Catalog Tables in SQL, including removing invalid data or handling missing values.

    6.In Databricks SQL, what happens when `DELETE FROM catalog.schema.events` is executed with no `WHERE` clause?

    1. A.Every row in the table is deleted, since an omitted predicate is treated as matching all rows
    2. B.The statement fails validation because Delta Lake requires an explicit predicate on every DELETE
    3. C.Only rows containing at least one NULL column value get deleted, since that is the default target
    4. D.The statement runs but silently deletes zero rows until an explicit WHERE clause is added later
    Show answer & explanation

    Correct answer: A — Every row in the table is deleted, since an omitted predicate is treated as matching all rows

    • A. Databricks documentation states that when no predicate is provided, DELETE FROM deletes all rows in the table, so omitting WHERE clears the entire table rather than doing nothing or requiring extra syntax.
    • B. Delta Lake does not enforce a mandatory WHERE predicate on DELETE statements; the syntax explicitly allows an optional predicate, so no validation error is raised.
    • C. DELETE FROM has no special default behavior that targets only NULL-containing rows; without a predicate it applies to the entire table regardless of which columns hold NULLs.
    • D. The statement executes immediately rather than staying inert, and its effect is to remove all rows, not to silently do nothing until a condition is supplied.

    Domain 3: Importing Data

    Subdomain 3.2: Use the Databricks Workspace UI to upload a data file to the platform.

    7.While working inside a Databricks notebook, an analyst has a small reference CSV on their laptop that they want to add to an existing Unity Catalog volume without leaving the notebook to open Catalog Explorer. Which built-in option lets them do this directly from the notebook interface?

    1. A.The notebook's `File` menu offers `Upload files to volume`, which opens the same upload dialog used elsewhere and writes the selected file into the chosen volume path.
    2. B.The notebook's `Run` menu exposes a `Sync local file` command that mounts the laptop's file system to DBFS and copies files whenever the notebook cell executes.
    3. C.Typing `%upload` as a magic command in a notebook cell opens a native file picker that pushes the selected file straight into the attached cluster's driver storage.
    4. D.The `Data` tab inside the notebook results pane lets analysts paste a local file path, which Databricks then fetches automatically from the analyst's machine over SSH.
    Show answer & explanation

    Correct answer: A — The notebook's `File` menu offers `Upload files to volume`, which opens the same upload dialog used elsewhere and writes the selected file into the chosen volume path.

    • A. The notebook's `File` menu includes an `Upload files to volume` action that opens the standard upload dialog, letting the analyst stage the local CSV into a Unity Catalog volume without switching to Catalog Explorer.
    • B. There is no `Run` menu command that mounts a laptop's local file system to DBFS; DBFS mounts are configured against cloud object storage, not a local machine, and files uploaded through the UI land in Unity Catalog volumes rather than DBFS.
    • C. Databricks notebooks do not support a `%upload` magic command, and uploaded files are staged into Unity Catalog volumes rather than pushed into a cluster's ephemeral driver storage.
    • D. The notebook results pane has no file-path field that fetches files from a local machine over SSH; Databricks has no mechanism to reach into an analyst's laptop this way.

    Domain 4: Executing queries using Databricks SQL and Databricks SQL Warehouses

    Subdomain 4.2: Explain the role a SQL Warehouse plays in query execution.

    8.During a company-wide reporting event, dozens of analysts simultaneously open the same dashboard connected to a single SQL warehouse, and queries begin queuing noticeably. The warehouse is already set to the largest available cluster size. What change would most directly relieve this queuing?

    1. A.Increase the maximum cluster count so the warehouse can spin up additional clusters and distribute the concurrent queries across them
    2. B.Increase the cluster size further, since a bigger single cluster processes a larger volume of simultaneous queries in parallel more efficiently
    3. C.Switch the warehouse to the Classic type, since Classic warehouses are marketed as being optimized specifically for high concurrent user counts
    4. D.Disable Photon on the warehouse so that more compute resources are freed up for handling the additional incoming concurrent connections
    Show answer & explanation

    Correct answer: A — Increase the maximum cluster count so the warehouse can spin up additional clusters and distribute the concurrent queries across them

    • A. Raising the maximum cluster count is correct because SQL warehouses handle high concurrency by adding clusters that share the incoming query load, rather than by making one cluster larger; more clusters means more queries can run in parallel instead of queuing.
    • B. Cluster size (t-shirt size) mainly affects how much compute a single query gets to run faster, not how many separate queries can run at once, so growing it further does little to relieve queuing from many simultaneous users.
    • C. Classic warehouses are not specifically optimized for concurrency; they offer entry-level performance without the intelligent workload management that helps distribute concurrent load, so switching to Classic would not resolve this queuing.
    • D. Photon is a vectorized query engine that speeds up query execution rather than a resource competing with concurrency, so disabling it would not free capacity for more simultaneous queries and could slow individual queries down.

    Subdomain 4.4: Create a materialized view, including knowing when to use Streaming Tables and Materialized Views, and differentiate between dynamic and materialized views.

    9.Which statement correctly differentiates a materialized view from a plain (dynamic) view in Databricks SQL?

    1. A.A materialized view persists and caches its query results for reuse, while a plain view is evaluated on demand and recomputed on every query.
    2. B.A materialized view is evaluated on demand for every query, while a plain view persists and caches its results between refresh cycles.
    3. C.A materialized view and a plain view both persist their results to storage, differing only in which compute engine executes the query.
    4. D.A materialized view can only be queried from within its originating pipeline, while a plain view is queryable from anywhere in Unity Catalog.
    Show answer & explanation

    Correct answer: A — A materialized view persists and caches its query results for reuse, while a plain view is evaluated on demand and recomputed on every query.

    • A. A materialized view caches its computed output so downstream reads reuse precomputed data, whereas a plain view has no persisted state and recomputes its query logic every time it is read.
    • B. This reverses the actual behavior: a materialized view is the one that caches and persists results, while a plain view is the one recomputed on demand for each query.
    • C. A plain view does not persist any results to storage at all, so claiming both object types persist their output misstates how plain views work.
    • D. Standalone materialized views can be queried broadly through Unity Catalog like other tables, and pipeline scoping applies to plain views defined inside a Lakeflow pipeline, not to materialized views generally.

    Subdomain 4.1: Utilize Databricks Assistant within a Notebook or SQL Editor to facilitate query writing and debugging.

    10.A workspace admin is evaluating whether to enable Genie Code for analysts who only have `SELECT` privileges on a subset of Unity Catalog tables. They are concerned the assistant might surface data from tables or columns those analysts are not authorized to query. What should the admin expect regarding Genie Code's access to workspace data?

    1. A.Genie Code is governed by the requesting user's Unity Catalog permissions, so it can only access data and operations that user already has grants for.
    2. B.Genie Code runs under a shared service identity with elevated privileges, so it can read content from any table regardless of the requesting user's grants.
    3. C.Genie Code caches a full copy of the metastore's schema and sample rows once, then answers every later request from that cache instead of live permissions.
    4. D.Genie Code requires the workspace admin to manually allowlist each table before any analyst can reference it in a Genie Code conversation with it.
    Show answer & explanation

    Correct answer: A — Genie Code is governed by the requesting user's Unity Catalog permissions, so it can only access data and operations that user already has grants for.

    • A. Genie Code operates within the requesting user's own Unity Catalog permissions, so it can only access and surface data and operations that user is already entitled to, which directly addresses the admin's governance concern.
    • B. Genie Code does not bypass the requesting analyst's grants through a privileged shared identity; its access is scoped to what that specific user can already see.
    • C. Genie Code does not operate from a static cached snapshot of the metastore that ignores live permission checks; access is scoped per request to what the user can see.
    • D. There is no manual per-table allowlisting step required from the admin; access is governed automatically by the existing Unity Catalog grants for the requesting user.

    Subdomain 4.6: Write queries to combine tables using various join operations (inner, left, right, and so on) with single or multiple keys, as well as set operations like union and union all, including the differences between the joins (inner, left, right, and so on).

    11.A table `shipments` records `order_id` and `warehouse_region`, and a table `pricing` records `order_id`, `warehouse_region`, and `unit_cost`. Some order_id values repeat across regions with different costs, so joining on `order_id` alone produces incorrect cross-region matches. Which join clause correctly returns only the pricing row that matches both the order and its specific region?

    1. A.`ON shipments.order_id = pricing.order_id AND shipments.warehouse_region = pricing.warehouse_region`, matching on both columns together
    2. B.`ON shipments.order_id = pricing.order_id`, followed by a separate WHERE clause comparing warehouse_region after the join runs
    3. C.`USING (order_id)`, since USING automatically expands to include every other column shared by name between the two tables
    4. D.`ON shipments.order_id = pricing.order_id OR shipments.warehouse_region = pricing.warehouse_region`, matching on either column being equal
    Show answer & explanation

    Correct answer: A — `ON shipments.order_id = pricing.order_id AND shipments.warehouse_region = pricing.warehouse_region`, matching on both columns together

    • A. Combining both columns with AND in the ON clause requires each joined row to match on order_id and warehouse_region simultaneously, which is exactly what is needed to avoid pairing an order with the wrong region's cost.
    • B. Filtering with a separate WHERE clause after an order_id-only join can work logically similarly to an AND condition for an inner join, but it still first materializes the incorrect cross-region matches and is not what the ON clause itself was asked to express; the join predicate should carry the multi-key logic directly.
    • C. USING(order_id) only deduplicates and matches the single named column order_id; it does not automatically pull in warehouse_region as part of the match condition, so cross-region mismatches would still occur.
    • D. An OR condition matches rows where either column is equal, which is looser than required and would still produce incorrect matches whenever order_id matches but the region differs.

    Subdomain 4.7: Perform sorting and filtering operations on a table.

    12.An analyst runs a query with `SELECT product_id, category, price FROM catalog ORDER BY 2, 3 DESC;`. What result ordering does this produce?

    1. A.Rows sort ascending by category first, then within each category tie sort descending by price, since ORDER BY accepts SELECT-list positions per key
    2. B.The query fails to parse, because ORDER BY only accepts column names or aliases and rejects positional integers that reference the SELECT list
    3. C.Rows sort descending by both category and price together, because the trailing DESC keyword applies retroactively to every positional reference before it
    4. D.Rows sort ascending by product_id only, because positional references are ignored and ORDER BY silently falls back to using the first selected column
    Show answer & explanation

    Correct answer: A — Rows sort ascending by category first, then within each category tie sort descending by price, since ORDER BY accepts SELECT-list positions per key

    • A. Correct: ORDER BY supports referencing SELECT-list columns by their integer position, so 2 refers to category and 3 refers to price; each key sorts independently unless a shared direction is stated, so category sorts ascending by default while price sorts descending as explicitly marked.
    • B. Incorrect: Databricks SQL explicitly supports ordering by column position as an alternative to naming the column or alias directly, so this query parses and runs successfully.
    • C. Incorrect: a DESC keyword only applies to the sort key it immediately follows; it does not retroactively apply to earlier keys in the same ORDER BY list, so category still sorts ascending here.
    • D. Incorrect: positional references are fully honored by ORDER BY rather than ignored, and product_id is never used as a sort key in this query since it was not referenced by position or name.

    Subdomain 4.9: Use Delta Lake's time travel to access and query historical data versions.

    13.A data analyst needs to build a report showing exactly what changed in the `pricing` table over the past week: which rows were updated, when each change happened, and which user or job made each write. Which command should they run first to identify the relevant commits before writing any time travel queries?

    1. A.`DESCRIBE HISTORY pricing;` to list each commit's version, timestamp, operation type, and the user or job that performed it
    2. B.`SHOW TBLPROPERTIES pricing;` to list the table's configured retention settings and infer how many changes occurred from them
    3. C.`SELECT * FROM pricing VERSION AS OF 1;` to read the earliest version and manually compare it row-by-row against the current table
    4. D.`EXPLAIN SELECT * FROM pricing;` to view the query plan, which lists every prior write operation applied to the table's files
    Show answer & explanation

    Correct answer: A — `DESCRIBE HISTORY pricing;` to list each commit's version, timestamp, operation type, and the user or job that performed it

    • A. Correct: `DESCRIBE HISTORY` returns the audit trail of a Delta table's operations, including version, timestamp, operation type, and the user or job identity, making it the direct way to identify which commits to inspect further.
    • B. Incorrect: `SHOW TBLPROPERTIES` returns configuration settings such as retention durations, not a log of individual write events, so it cannot reveal who changed what or when.
    • C. Incorrect: reading only the earliest version and manually diffing every row against the current table is a slow, error-prone substitute for the operation log and would not surface the acting user or job for each change.
    • D. Incorrect: `EXPLAIN` shows the physical or logical execution plan for the current query, not a historical record of past write operations performed on the table.

    Subdomain 4.8: Create managed tables and external tables, including creating tables by joining data from multiple sources (e.g., CSV, Parquet, Delta tables) to create unified datasets, including Unity Catalog.

    14.While building a unified sales table that joins sources from two business units, an analyst must reference an existing Delta table by its fully qualified name inside the `CREATE TABLE ... AS SELECT` query. Which reference correctly follows Unity Catalog's namespace convention?

    1. A.`sales_schema.orders_delta`, because Unity Catalog only requires the schema and table name once a default catalog has been set for the current session.
    2. B.`finance_catalog.orders_delta`, because Unity Catalog flattens the schema and table names into one combined identifier whenever a table was originally created without a schema name.
    3. C.`orders_delta@finance_catalog`, because Unity Catalog uses an at-sign separator to bind a table name to its owning catalog for cross-catalog joins.
    4. D.`finance_catalog.sales_schema.orders_delta`, because Unity Catalog resolves objects through a three-level catalog, schema, and table hierarchy rather than a single database name.
    Show answer & explanation

    Correct answer: D — `finance_catalog.sales_schema.orders_delta`, because Unity Catalog resolves objects through a three-level catalog, schema, and table hierarchy rather than a single database name.

    • A. Omitting the catalog only works when a default catalog has already been set for the session, so it is not the reliable, fully qualified reference the scenario calls for when joining across business units.
    • B. Every table in Unity Catalog belongs to a schema, so there is no mode where the schema and table collapse into a single flattened identifier under the catalog.
    • C. Unity Catalog identifiers use dot separators between catalog, schema, and table, not an at-sign, so this syntax does not match how object names are resolved.
    • D. Unity Catalog always resolves objects through the three-level `catalog.schema.table` hierarchy, so naming all three levels explicitly is the fully qualified reference the join requires.

    Subdomain 4.3: Querying cross-system analytics by joining data from a Delta table and a federated data source.

    15.A team has already created a connection named `pg_inventory` for a PostgreSQL server. Which statement correctly registers a queryable Unity Catalog catalog on top of that connection, scoped to the `retail_db` database?

    1. A.`CREATE FOREIGN CATALOG pg_catalog USING CONNECTION pg_inventory OPTIONS (database 'retail_db')`, which mirrors the remote database's schemas and tables.
    2. B.`CREATE CATALOG pg_catalog USING CONNECTION pg_inventory OPTIONS (database 'retail_db')`, which provisions a managed catalog backed by cloud storage that syncs from the connection.
    3. C.`CREATE FOREIGN SCHEMA pg_catalog FROM CONNECTION pg_inventory OPTIONS (database 'retail_db')`, which creates a single foreign schema rather than a full catalog.
    4. D.`ALTER CONNECTION pg_inventory SET CATALOG pg_catalog OPTIONS (database 'retail_db')`, which attaches a catalog reference directly onto the existing connection object.
    Show answer & explanation

    Correct answer: A — `CREATE FOREIGN CATALOG pg_catalog USING CONNECTION pg_inventory OPTIONS (database 'retail_db')`, which mirrors the remote database's schemas and tables.

    • A. `CREATE FOREIGN CATALOG` is the correct statement for federation; it takes an existing connection and a remote database name, then mirrors that database's schemas and tables as a foreign catalog in Unity Catalog.
    • B. Plain `CREATE CATALOG` provisions a managed catalog backed by Databricks-managed storage, not a mirror of a remote federated database, so it is the wrong statement for this scenario.
    • C. There is no `CREATE FOREIGN SCHEMA ... FROM CONNECTION` statement in Lakehouse Federation; foreign catalogs are the unit created on top of a connection, and schemas underneath sync automatically.
    • D. `ALTER CONNECTION` modifies properties of an existing connection object; it cannot be used to create or attach a new foreign catalog, which requires its own `CREATE FOREIGN CATALOG` statement.

    Domain 5: Analyzing Queries

    Subdomain 5.1: Understand the Features, Benefits, and Supported Workloads of Photon.

    16.A pipeline writes newly ingested batch data into a Delta Lake table every hour, and the team wants to reduce the time spent producing the output files. Which Photon capability directly speeds up this part of the workload?

    1. A.Photon accelerates the Parquet file writes underlying Delta Lake table writes, reducing the time spent encoding and persisting the ingested batch data to storage.
    2. B.Photon compresses the ingested data using a proprietary binary format instead of Parquet, which is why Delta Lake tables written under Photon cannot be read by non-Photon engines.
    3. C.Photon reduces write time by skipping Delta Lake's transaction log commit for batch writes, deferring log updates until the next scheduled OPTIMIZE job runs.
    4. D.Photon speeds up writes by automatically converting the target table to Z-ordered layout on every write, regardless of whether Z-ordering columns were configured.
    Show answer & explanation

    Correct answer: A — Photon accelerates the Parquet file writes underlying Delta Lake table writes, reducing the time spent encoding and persisting the ingested batch data to storage.

    • A. This is correct: Photon accelerates the underlying Parquet write path used by Delta Lake (and Iceberg), so encoding and persisting the batch output to storage completes faster.
    • B. This is incorrect because Photon still writes standard Parquet files under Delta Lake's open format; it does not introduce a proprietary binary layout, and tables remain readable by any Delta-compatible engine.
    • C. This is incorrect because Photon does not alter Delta Lake's transactional guarantees; every write still commits to the transaction log as normal, and log updates are not deferred to a later OPTIMIZE run.
    • D. This is incorrect because Photon does not automatically apply Z-ordering on writes; Z-ordering is a separate, explicitly configured optimization technique, not a side effect of Photon's write acceleration.

    Subdomain 5.3: Utilize Delta Lake to audit and view history, validate results, and compare historical results or trends.

    17.A support analyst is validating a nightly job by checking whether the previous night's run of `DESCRIBE HISTORY billing` recorded a `DELETE` operation that should not have happened. The table has thousands of commits. Which addition to the query most directly limits the output to just the latest commit for a quick check?

    1. A.Append `LIMIT 1` to the statement so only the single most recent commit, which is listed first, is returned
    2. B.Append `WHERE operation = 'DELETE'` and no limit, returning every delete ever recorded across the table's full history
    3. C.Append `ORDER BY version ASC LIMIT 1` so the very first commit ever made to the table is returned for comparison
    4. D.Append `GROUP BY operation` to collapse the results into one row per operation type before inspecting them
    Show answer & explanation

    Correct answer: A — Append `LIMIT 1` to the statement so only the single most recent commit, which is listed first, is returned

    • A. Correct: `DESCRIBE HISTORY` returns commits in reverse chronological order, so appending `LIMIT 1` isolates just the most recent commit, which is the fastest way to check what last night's run did.
    • B. Incorrect: filtering on `operation = 'DELETE'` with no limit returns every delete across the table's entire lifetime, which is far more output than needed for a quick check of just the latest run.
    • C. Incorrect: sorting ascending by version and limiting to one row returns the oldest commit in the table's history, the opposite of the most recent commit the analyst needs to inspect.
    • D. Incorrect: grouping by operation type collapses rows across the entire history into aggregated buckets, losing the per-commit timestamp and version detail needed to confirm what happened in last night's specific run.

    Subdomain 5.5: Apply Liquid Clustering to improve query speed when filtering large tables on specific columns.

    18.A team maintains a Delta table that was set up years ago with Hive-style partitioning by `order_date` and periodic `OPTIMIZE ... ZORDER BY (customer_id)` jobs. They want to migrate it to liquid clustering to simplify maintenance and allow the clustering key to evolve later. Which statement about this migration is correct?

    1. A.The existing partitioning must be removed as part of the migration, since liquid clustering cannot be combined with partitioning or Z-order on the same table
    2. B.Liquid clustering can be layered on top of the existing partitioning so both the partition columns and clustering keys apply simultaneously
    3. C.The existing `OPTIMIZE ... ZORDER BY` jobs can keep running unchanged alongside a new `CLUSTER BY` declaration on the same columns
    4. D.Migrating to liquid clustering requires first removing all historical data files so the table starts from an empty state
    Show answer & explanation

    Correct answer: A — The existing partitioning must be removed as part of the migration, since liquid clustering cannot be combined with partitioning or Z-order on the same table

    • A. Liquid clustering is documented as incompatible with both Hive-style partitioning and Z-ordering, so migrating means the team drops the partitioning scheme and stops the Z-order jobs in favor of a `CLUSTER BY` declaration on the columns that matter for their queries.
    • B. Delta Lake does not support running partitioning and liquid clustering on the same table at once, so the two layout strategies cannot be layered together rather than one replacing the other.
    • C. Once a table is declared with `CLUSTER BY`, Z-order compaction is no longer the applicable maintenance operation, so continuing to run `ZORDER BY` jobs would conflict with rather than complement the new clustering configuration.
    • D. Migrating to liquid clustering does not require deleting historical files; existing data can remain in place and be reorganized later through an `OPTIMIZE FULL` operation rather than starting from an empty table.

    Subdomain 5.4: Utilize query history and caching to reduce development time and query latency

    19.A team runs the same reporting query each morning against a serverless SQL warehouse that Databricks automatically stops overnight due to inactivity. The underlying table has not changed since the previous run. When the team runs the identical query again after the warehouse restarts, the result appears almost instantly with no new compute activity. What explains this behavior?

    1. A.The remote result cache is stored outside the cluster and persists across a warehouse restart, so the identical query reuses the earlier computed result.
    2. B.The disk cache retained the raw data files from the prior day's run in the cluster's local memory, letting the warehouse skip reading from cloud storage entirely after the restart.
    3. C.Databricks automatically materializes any query run in the SQL editor as a view, so subsequent identical queries read from that view instead of the original source table.
    4. D.The SQL warehouse never actually stopped overnight; Databricks only pauses billing for idle serverless warehouses while quietly keeping the underlying compute cluster running.
    Show answer & explanation

    Correct answer: A — The remote result cache is stored outside the cluster and persists across a warehouse restart, so the identical query reuses the earlier computed result.

    • A. The remote result cache is a workspace-level store separate from any single cluster, has a lifecycle of up to 24 hours, and survives a warehouse being stopped and restarted, so an unchanged identical query returns the cached result immediately.
    • B. The disk cache lives on local SSD attached to compute nodes and is cleared when a cluster or warehouse restarts, so it could not have survived the overnight stop to serve this result.
    • C. Running a query in the SQL editor does not create a materialized view of the result; no persistent view object is created just by executing a SELECT statement.
    • D. A stopped serverless warehouse is not still running underneath the billing layer; the near-instant response comes from the persistent remote result cache, not from hidden active compute.

    Subdomain 5.6: Fix a query to achieve the desired results.

    20.A report combining two monthly sales extracts uses `UNION ALL` to stack the results, and the analyst notices the row count exactly matches the sum of both extracts' row counts, including a handful of exact duplicate rows that exist in both extracts. Which statement correctly explains this behavior and how to change it if duplicates should be removed?

    1. A.`UNION ALL` keeps every row from both inputs without checking for duplicates, so the matching row count is expected; switching to plain `UNION` removes exact duplicate rows across the combined result.
    2. B.`UNION ALL` always removes duplicate rows automatically, so any duplicates surviving in the output indicate a bug in Databricks SQL that must be worked around with a separate `DISTINCT` clause.
    3. C.The row count only matches by coincidence, since `UNION ALL` internally deduplicates based on the primary key column before it re-adds a synthetic row for every duplicate it originally removed.
    4. D.`UNION ALL` compares every column across both inputs and drops rows only when all columns tie exactly, so a full duplicate removal step happens automatically without needing plain `UNION`.
    Show answer & explanation

    Correct answer: A — `UNION ALL` keeps every row from both inputs without checking for duplicates, so the matching row count is expected; switching to plain `UNION` removes exact duplicate rows across the combined result.

    • A. This is correct: `UNION ALL` concatenates all rows from both queries with no deduplication step at all, which is exactly why the combined row count equals the sum of the two extracts; switching to `UNION` performs a distinct-style removal of exact duplicate rows.
    • B. This reverses the actual behavior: `UNION ALL` is specifically the variant that skips deduplication, while plain `UNION` is the one that removes duplicate rows, so no bug or workaround is involved here.
    • C. `UNION ALL` performs no internal deduplication logic based on keys or any other columns, so describing the matching row count as coincidental misrepresents how the operator is defined to behave.
    • D. This describes the behavior of plain `UNION`, not `UNION ALL`; the whole reason the combined count matches the sum of the two extracts is that no such column-wise duplicate comparison occurs during the union.

    Domain 6: Working with Dashboards and Visualizations in Databricks

    Subdomain 6.1: Build dashboards using AI/BI Dashboards, including multi-tabs/page layouts, multiple data sources/datasets, and widgets (visualizations, text, images).

    21.An analyst wants to show what percentage of this month's total sales came from each of four product categories, as a single snapshot rather than a trend over time. Which visualization type is the most appropriate choice?

    1. A.A pie chart, since it is designed to show proportionality between categories and is not intended for time-series data.
    2. B.A line chart, since it presents the change in one or more metrics as they move steadily across a sequence of time periods.
    3. C.An area chart, since it combines line and bar visualizations to show how groups' values change over time.
    4. D.A cohort chart, since it groups users by shared characteristics and tracks their behavior across time periods.
    Show answer & explanation

    Correct answer: A — A pie chart, since it is designed to show proportionality between categories and is not intended for time-series data.

    • A. A pie chart shows proportionality between metrics as slices of a whole and is documented as not intended for time-series data, matching this single-snapshot category breakdown.
    • B. A line chart is built to present how metrics change across time periods, which does not match a single-point snapshot of category proportions for one month.
    • C. An area chart also emphasizes change over time by combining line and bar elements, so it does not suit a one-time proportional breakdown of categories.
    • D. A cohort chart tracks retention or behavior for grouped users across time periods, which is unrelated to a single snapshot of sales share by product category.

    Subdomain 6.2: Create visualizations in notebooks and the SQL editor.

    22.Which pair of visualization types is documented as limited to 64K rows or 10MB of underlying query data in Databricks?

    1. A.Heatmap and table visualizations
    2. B.Counter and pivot visualizations
    3. C.Bar and line visualizations
    4. D.Scatter and bubble visualizations
    Show answer & explanation

    Correct answer: A — Heatmap and table visualizations

    • A. Heatmap and table visualizations are the two types documented with the 64K row or 10MB underlying-data limit, since both render every individual data point or cell directly.
    • B. Counter and pivot visualizations are not the types called out with this specific row and size limit in the documentation.
    • C. Bar and line visualizations are not the types documented with this particular row and size limit.
    • D. Scatter and bubble visualizations are not the types documented with this particular row and size limit.

    Subdomain 6.4: Configure permissions through the UI to share dashboards with workspace users/groups, external users through shareable links, and embed dashboards in external apps.

    23.A dashboard owner copies a shareable link from the Share dialog and emails it to a recipient who has no workspace access and has never opened this dashboard before. What happens when that recipient clicks the link?

    1. A.The recipient is prompted to authenticate through the identity provider or an email one-time passcode, then sees a dashboard-only, view-focused experience.
    2. B.The recipient sees the full dashboard immediately with no authentication step at all, since shareable links are designed to work for completely anonymous visitors.
    3. C.The recipient is shown a permanent access-denied page, because shareable links only ever work for users who already belong to the dashboard's home workspace.
    4. D.The recipient's browser silently provisions a brand-new workspace account in the background, since opening any shareable link always creates full workspace membership automatically.
    Show answer & explanation

    Correct answer: A — The recipient is prompted to authenticate through the identity provider or an email one-time passcode, then sees a dashboard-only, view-focused experience.

    • A. Recipients without workspace access still need to authenticate, either through the account's identity provider or a one-time passcode sent by email, before landing in a simplified, dashboard-only view.
    • B. Shareable links are not anonymous; a login step through the identity provider or a one-time passcode is required before the recipient can see the dashboard's contents.
    • C. Shareable links are specifically designed to extend access to registered account members outside the workspace, so lacking workspace membership does not by itself result in denied access.
    • D. Opening a shareable link authenticates the recipient as a registered account member for a view-only copy of the dashboard; it does not create or grant any workspace membership.

    Subdomain 6.6: Configure an alert with a desired threshold and destination.

    24.An alert's underlying query returns a result set sorted so that the most recent hourly `error_count` value appears in the first row, followed by older hourly values in subsequent rows. The analyst wants the alert to evaluate only that most recent hour's count, ignoring the rest of the rows. Which condition setting achieves this?

    1. A.Set the Data Value option to Sum across all rows of `error_count`, since summing a sorted result set automatically weights the most recent row highest in the comparison.
    2. B.Set the Data Value option to Average across all rows of `error_count`, because averaging a time-ordered result naturally isolates the newest row's value from the older rows.
    3. C.Set the alert's Data Value option to evaluate the first value of the `error_count` column, so only the top row of the sorted result set is compared against the threshold.
    4. D.Leave the Data Value option on its aggregation default and add `LIMIT 1` to the notification template body, since template limits control which row the condition threshold reads.
    Show answer & explanation

    Correct answer: C — Set the alert's Data Value option to evaluate the first value of the `error_count` column, so only the top row of the sorted result set is compared against the threshold.

    • A. Summing across all rows combines every hour's error count into one total, which still mixes in older rows instead of isolating just the most recent hour's value.
    • B. Averaging across all rows blends the newest count together with every older row's count, so it does not isolate the most recent hour on its own.
    • C. The first-value setting evaluates only the top row of the query result, which is the most recent hour given the sort order, matching exactly what the team wants.
    • D. The notification template only formats the text of an already-fired alert message; a `LIMIT 1` placed there has no effect on which row the condition itself compares.

    Subdomain 6.3: Work with parameters in SQL queries and dashboards, including defining, configuring, and testing parameters.

    25.When configuring a dataset parameter in an AI/BI dashboard, which field in the parameter editor is the one that can only be changed by editing the actual `:name` marker text inside the SQL query itself?

    1. A.Keyword
    2. B.Display name
    3. C.Type
    4. D.Allow multiple selections
    Show answer & explanation

    Correct answer: A — Keyword

    • A. The keyword is the literal identifier that appears after the colon in the SQL query, so it can only be renamed by editing that query text; the parameter editor's gear-icon panel does not offer a separate control to rename it.
    • B. The display name is a label shown in filter editors and widgets and can be freely edited from the parameter configuration panel without touching the underlying query text.
    • C. The parameter's type, such as String, Date, or Numeric, is a dropdown choice set in the configuration panel and does not require editing the SQL query.
    • D. The multi-select checkbox toggling array-based filtering is set directly in the configuration panel and does not require any change to the query text.

    Subdomain 6.7: Identify the effective visualization type to communicate insights clearly.

    26.Which statement accurately describes a limitation of the pie visualization type in an AI/BI Dashboard widget?

    1. A.Pie visualizations show proportionality between metrics but are not meant for conveying time series data, since slices do not communicate change over time.
    2. B.Pie visualizations cannot display more than two categories at once, since each widget instance is limited to exactly two slices per rendered chart.
    3. C.Pie visualizations require a numeric x-axis and y-axis pair, since slice angles are computed directly from two independent continuous variables.
    4. D.Pie visualizations can only be built from a Genie space dataset, since standard SQL editor query results are not supported as a data source.
    Show answer & explanation

    Correct answer: A — Pie visualizations show proportionality between metrics but are not meant for conveying time series data, since slices do not communicate change over time.

    • A. Pie visualizations are documented as showing proportionality between metrics but not being meant for conveying time series data, because static slices cannot represent how a value changes across a continuous time axis.
    • B. Pie visualizations are not restricted to two slices; they can represent several categories at once, though usability degrades as the number of slices grows, so this stated hard limit is incorrect.
    • C. Pie visualizations encode proportion through slice size based on category values, not through a numeric x-axis and y-axis pair, so there is no such two-continuous-variable requirement.
    • D. Pie visualizations, like other dashboard widgets, can be built from datasets defined in the SQL editor or notebooks, not only from Genie space datasets, so this restriction does not exist.

    Domain 7: Developing, Sharing, and Maintaining AI/BI Genie spaces

    Subdomain 7.1: Describe the purpose, key features, and components of AI/BI Genie spaces.

    27.Business users in a Genie space keep asking for the same customer churn calculation, and each time Genie generates a slightly different SQL formula, producing inconsistent numbers. Which Genie feature should the analyst configure to make the space consistently reuse one vetted, correct query for this calculation?

    1. A.A dashboard parameter bound to the churn metric, so users select a predefined value from a dropdown instead of typing a natural-language question.
    2. B.A governed tag applied to the churn column, so Unity Catalog labels the column as sensitive and restricts who can query it directly.
    3. C.A trusted asset defined as an example SQL query for the churn calculation, so Genie reuses vetted logic instead of generating a new formula each time.
    4. D.A scheduled alert on the churn metric with an email destination, so a notification fires automatically whenever the calculated value crosses a defined threshold.
    Show answer & explanation

    Correct answer: C — A trusted asset defined as an example SQL query for the churn calculation, so Genie reuses vetted logic instead of generating a new formula each time.

    • A. Dashboard parameters belong to AI/BI dashboards, not Genie spaces, and they control filter values in a fixed visualization rather than standardizing a conversational calculation.
    • B. A governed tag classifies and can restrict access to a column, but it has no effect on which formula Genie chooses when generating SQL for a churn question.
    • C. This is correct because a trusted asset, a vetted example SQL query, gives Genie one approved calculation to reference instead of re-deriving the formula for each question.
    • D. A scheduled alert notifies users when a value crosses a threshold using whatever formula last computed it; it does not standardize or correct the SQL logic Genie uses to compute that value.

    Subdomain 7.3: Assign permissions via the UI and distribute Genie spaces using embedded links and external app integrations.

    28.The BI team wants to embed a Genie space directly inside an internal customer-support console hosted at https://support.acme.internal, so agents can ask questions without leaving that tool. Before the Genie space author can generate a working embed, what must a workspace admin configure first?

    1. A.In Settings > Security > External access, set the embed dashboards policy to Allow approved domains and add the support console's domain to the approved list.
    2. B.In the Genie space's Share dialog, grant the support console's service account CAN MANAGE so the console can silently create new Genie spaces of its own on demand.
    3. C.In the Unity Catalog metastore, create a new catalog scoped to the support console and migrate the curated tables into that catalog before embedding.
    4. D.In the workspace admin console, enable Photon on the SQL warehouse backing the space so the embedded iframe can render query results faster.
    Show answer & explanation

    Correct answer: A — In Settings > Security > External access, set the embed dashboards policy to Allow approved domains and add the support console's domain to the approved list.

    • A. Correct. Workspace admins control embedding policy under Settings > Security > External access, and an author cannot successfully embed a space in an external domain until that domain is allowed or explicitly approved there.
    • B. CAN MANAGE on the space controls who can administer or share that specific Genie space, but it does not control which external domains are permitted to host an embedded iframe.
    • C. Creating a new catalog and migrating tables changes data organization, not embedding permissions, and is unrelated to whether a domain is allowed to embed the space.
    • D. Photon is a query execution engine setting that affects performance, not whether an external domain is authorized to embed a Genie space.

    Subdomain 7.4: Optimize AI/BI Genie spaces by tracking user questions, response accuracy, and feedback; updating instructions and trusted assets based on stakeholder input; validating accuracy with benchmarks; refreshing Unity Catalog metadata.

    29.A user in a Genie space gets an answer to a sensitive budget question and is not confident the generated SQL is correct, but does not want to open a separate support ticket outside the tool. What should the user do?

    1. A.Use the request-review option on that response so an administrator can inspect the prompt, the SQL, and an optional comment.
    2. B.Submit a ticket through the organization's general IT help desk describing the question and the answer that seemed wrong.
    3. C.Give the response a thumbs down and wait for the next scheduled digest email that summarizes all negative feedback received.
    4. D.Edit the generated SQL directly inside the Genie space's chat window and rerun it manually to get a corrected result.
    Show answer & explanation

    Correct answer: A — Use the request-review option on that response so an administrator can inspect the prompt, the SQL, and an optional comment.

    • A. Requesting review on that exact response routes the specific prompt, SQL, and any comment straight to a space administrator for verification, which matches wanting an in-tool check without leaving the space.
    • B. A general IT ticket routes to a help desk that has no direct visibility into that Genie space's SQL or curated instructions, adding an unnecessary detour.
    • C. A thumbs down records general sentiment but does not guarantee an administrator inspects this particular response, and there is no defined digest workflow tied to it.
    • D. Editing SQL directly requires the user to already know the correct query, which defeats the purpose of asking Genie and does not flag anything for an administrator to fix.

    Subdomain 7.2: Create Genie spaces by defining reasonable sample questions and domain-specific instructions, choosing SQL warehouses, curating Unity Catalog datasets (tables, views...), and vetting queries as Trusted Assets.

    30.An analyst tries to select a SQL warehouse while creating a Genie space, but the warehouse they need never appears in the picker. A workspace admin checks and finds the analyst has broad catalog access but nothing configured on the warehouse itself. What must be granted on the SQL warehouse for it to show up as selectable?

    1. A.CAN USE permission on the SQL warehouse, which is the minimum access level required before it can be attached to a Genie space
    2. B.CAN MANAGE permission on the SQL warehouse, since Genie spaces require full administrative control before a warehouse can be attached
    3. C.CAN RESTART permission on the SQL warehouse, since Genie spaces need to restart compute directly rather than just submit queries
    4. D.CAN VIEW permission on the SQL warehouse, since read-only visibility into its configuration is enough for Genie to route queries through it
    Show answer & explanation

    Correct answer: A — CAN USE permission on the SQL warehouse, which is the minimum access level required before it can be attached to a Genie space

    • A. This is correct because CAN USE is documented as the minimum permission level a user needs on a SQL warehouse before that warehouse becomes available to attach to a Genie space.
    • B. This is incorrect because Genie spaces do not require administrative control of the warehouse; the far lower CAN USE level is sufficient for attaching it.
    • C. This is incorrect because attaching a warehouse to a Genie space only requires the ability to submit queries against it, not a separate restart-level permission.
    • D. This is incorrect because read-only visibility does not let the warehouse actually execute queries submitted by the space; CAN USE, not CAN VIEW, is the required level.

    Domain 8: Data Modeling with Databricks SQL

    Subdomain 8.1: Apply industry-standard data modeling techniques, such as star, snowflake, and data vault schemas, to analytical workloads.

    31.A marketing team wants to associate promotions with the products they apply to, where a single promotion can cover many products and a single product can be featured in many promotions at once. They are building this relationship inside a data vault model that already has separate `product` and `promotion` hubs. What should they add to represent this association?

    1. A.A link table connecting the product and promotion hubs, capturing the many-to-many association between the two business concepts.
    2. B.A second satellite on the product hub, since satellites can store references to any number of related promotions for each product.
    3. C.A foreign key column added directly inside the promotion hub that points to the product hub's business key for every associated product.
    4. D.A star schema fact table joining the two hubs, since only fact tables are capable of representing many-to-many relationships between entities.
    Show answer & explanation

    Correct answer: A — A link table connecting the product and promotion hubs, capturing the many-to-many association between the two business concepts.

    • A. Link tables exist precisely to represent relationships, including many-to-many associations, between two or more hub entities, which matches the product-to-promotion relationship described here.
    • B. Satellites hold descriptive attribute history for a hub or link, not references to other hubs; representing a many-to-many relationship through a satellite would not match its intended role.
    • C. Hub tables are meant to hold only a business key and minimal metadata, and a single foreign key column could not represent a many-to-many relationship where either side can have multiple matches.
    • D. Fact tables belong to star schema Gold-layer modeling, and many-to-many relationships are commonly represented there through bridge tables; a data vault model uses link tables instead, not fact tables, for this purpose.

    Subdomain 8.2: Understand how industry-standard models align with the Medallion Architecture.

    32.A data engineer is loading raw clickstream JSON files from cloud object storage into a Databricks table with almost no transformation, keeping the original field names and adding only an ingestion timestamp column for auditability. No fact or dimension modeling has been applied yet. Which Medallion layer does this table represent, and why does industry-standard dimensional modeling not apply here yet?

    1. A.This is the Bronze layer, because its purpose is capturing source data as-is with minimal transformation, before any conforming or dimensional modeling happens.
    2. B.This is the Silver layer, because adding an ingestion timestamp already counts as the conformance step that normalizes raw data ahead of dimensional modeling in Gold.
    3. C.This is the Gold layer, because the ingestion timestamp column alone makes the raw table business-ready for dashboards, even though no fact or dimension structure has been applied to it yet.
    4. D.This is a data vault hub table, because the ingestion timestamp functions as the business key that other satellite tables will later reference for historical tracking.
    Show answer & explanation

    Correct answer: A — This is the Bronze layer, because its purpose is capturing source data as-is with minimal transformation, before any conforming or dimensional modeling happens.

    • A. Keeping original field names with minimal transformation and only an audit timestamp is exactly the Bronze layer's role: capture data as-is for auditability and historical replay before any cleansing or dimensional modeling is applied downstream.
    • B. Adding a single timestamp column is not the same as the deduplication and enterprise-wide conformance work that defines the Silver layer; the data described here is still raw and unconformed, which keeps it at Bronze.
    • C. A raw, minimally transformed table with original field names is not business-ready and has no aggregate or dimensional structure, so it does not meet the definition of the Gold layer regardless of having a timestamp column.
    • D. A hub table's business key identifies a specific business entity for satellites to attach history to; an ingestion timestamp added for auditing raw file loads is not a business key and does not make this a data vault hub.

    Domain 9: Securing Data

    Subdomain 9.2: Understand how the 3-level namespace(Catalog / Schema / Tables or Volumes) works in the Unity Catalog.

    33.An analyst wants a list of every table defined in the `finance` catalog, across all of its schemas, without opening Catalog Explorer. Which query correctly returns that list using Unity Catalog's namespace structure?

    1. A.`SELECT table_schema, table_name FROM finance.information_schema.tables;`, since every catalog exposes its own `information_schema` schema listing the objects it contains.
    2. B.`SELECT table_schema, table_name FROM information_schema.tables;`, since `information_schema` is a single schema shared globally across every catalog in the metastore.
    3. C.`SHOW TABLES IN CATALOG finance;`, since the `SHOW TABLES` command accepts a catalog name directly and lists every table without needing to reference any schema.
    4. D.`DESCRIBE CATALOG finance;`, since the `DESCRIBE CATALOG` command returns the full contents of a catalog, including every schema, table, and volume it holds.
    Show answer & explanation

    Correct answer: A — `SELECT table_schema, table_name FROM finance.information_schema.tables;`, since every catalog exposes its own `information_schema` schema listing the objects it contains.

    • A. Each catalog in Unity Catalog has its own `information_schema` schema that surfaces metadata for the objects inside that specific catalog, so qualifying it as `finance.information_schema.tables` correctly scopes the metadata query to the `finance` catalog.
    • B. This is incorrect because `information_schema` is not a single global schema shared across catalogs; without qualifying it with a catalog name, the reference resolves to whichever catalog is currently set as the session default, not necessarily `finance`.
    • C. This is incorrect because `SHOW TABLES` requires a schema to be specified (or a current schema to be set); it does not accept a bare catalog name and list every table across all of that catalog's schemas in one call.
    • D. This is incorrect because `DESCRIBE CATALOG` returns catalog-level metadata such as its owner and comment, not a full listing of every schema, table, and volume it contains.

    Subdomain 9.1: Use Unity Catalog roles and sharing settings to ensure workspace objects are secure.

    34.A catalog owner grants `SELECT` on the entire `analytics` catalog to the `bi-team` group. Three weeks later, an engineer creates a brand-new schema and table inside that catalog without issuing any additional grants. Can the `bi-team` group query the new table, and why?

    1. A.No, because privilege grants in Unity Catalog only apply to objects that already existed at the moment the grant was issued, so the new table needs its own grant.
    2. B.Yes, but only after the catalog owner re-runs the same `GRANT SELECT` statement again, since inheritance refreshes just once per day on a scheduled background job.
    3. C.Yes, because a privilege granted on a container object like a catalog automatically applies to all current and future child schemas and tables created inside it.
    4. D.No, because `SELECT` granted at the catalog level only inherits down to schemas, not further down to the individual tables nested inside those schemas.
    Show answer & explanation

    Correct answer: C — Yes, because a privilege granted on a container object like a catalog automatically applies to all current and future child schemas and tables created inside it.

    • A. This describes the opposite of how Unity Catalog inheritance actually behaves; a grant on a catalog is not a one-time snapshot of existing objects and does apply to objects created afterward, so the new table would not need a separate grant.
    • B. There is no scheduled or periodic refresh required for privilege inheritance to take effect; Unity Catalog evaluates inherited privileges at query time, so re-running the grant statement is unnecessary.
    • C. Unity Catalog privilege inheritance flows down from container objects to both current and future child objects, so a `SELECT` grant on the catalog automatically covers the newly created schema and table without any further action from the owner.
    • D. Inheritance in Unity Catalog does not stop at the schema level; a privilege granted on a catalog continues cascading down through schemas to the tables they contain, so this describes an inheritance limit that does not exist.

    Subdomain 9.3: Apply best practices for storage and management to ensure data security, including table ownership and PII protection.

    35.By default in Unity Catalog, who owns a securable object such as a table immediately after it is created, and who owns the workspace catalog when Unity Catalog is automatically enabled for a workspace?

    1. A.New objects are owned collectively by the `account_admins` group by default, and the workspace catalog inherits its ownership from the metastore's root owner instead.
    2. B.The user who runs the `CREATE TABLE` statement owns the new object by default, and workspace administrators automatically own the workspace catalog created when Unity Catalog is auto-enabled.
    3. C.The metastore admin always owns every new object by default, and individual users must request an explicit ownership grant before they can modify anything they personally create in any schema.
    4. D.Ownership defaults to whoever already owns the parent schema rather than the object's creator, and the workspace catalog has no owner until an admin manually assigns one later.
    Show answer & explanation

    Correct answer: B — The user who runs the `CREATE TABLE` statement owns the new object by default, and workspace administrators automatically own the workspace catalog created when Unity Catalog is auto-enabled.

    • A. Ownership is not assigned to a group by default when an object is created, and the workspace catalog's owner comes from workspace administrator status, not from inheriting a metastore root owner.
    • B. The creator of an object is its default owner in Unity Catalog, and when Unity Catalog is automatically enabled for a workspace, workspace administrators are set as owners of the resulting workspace catalog.
    • C. Metastore admins do not automatically own every new object; ownership defaults to the creating user, and requiring a separate grant before that user can modify their own object is not how Unity Catalog behaves.
    • D. New objects are not owned by the parent schema's owner by default, and the workspace catalog is not left ownerless; every securable object, including the workspace catalog, must have an owner from creation.

    Want the full experience?

    These are just samples. Practice the full Databricks Certified Data Analyst Associate question bank in quiz mode — free, no signup, with domain practice and exam simulation.