Databricks Data Engineer Professional · 22% practice allocation

Databricks Data Engineer Professional: Developing Code for Data Processing using Python and SQL Practice Questions

5 free sample questions from the Developing Code for Data Processing using Python and SQL domain, with answers and explanations. The full Data Engineer Professional bank has 311 questions across 10 domains. Questions are scenario-based and written from the official Databricks exam guide.

1.

A data engineering team is setting up Unity Catalog for the first time on their Databricks workspace. They need to understand the correct object hierarchy. Which of the following correctly describes the three-level namespace structure in Unity Catalog, from highest to lowest level?

  • A. Metastore → Catalog → Schema → Table✓ Correct
  • B. Workspace → Catalog → Database → Table
  • C. Catalog → Schema → Table
  • D. Metastore → Schema → Table → Column
Explanation

Unity Catalog uses a four-level structure where the Metastore is the top-level container, followed by Catalogs, then Schemas (databases), and finally Tables (or other data objects). The 'three-level namespace' that users reference in SQL queries is catalog.schema.table, which sits beneath the metastore. Option C is partially correct in describing the SQL namespace but omits the metastore. Option D incorrectly places Column as a namespace level and skips Catalog. Option B uses non-standard terms ('Workspace', 'Database') that do not reflect Unity Catalog terminology.

2.

A company has a Unity Catalog metastore and wants to give the group data_scientists the ability to create new tables in any schema within the catalog research, but NOT allow them to drop or alter existing tables. Which combination of privileges achieves this with the LEAST permissive grant?

  • A. GRANT ALL PRIVILEGES ON CATALOG research TO data_scientists
  • B. GRANT USE CATALOG ON CATALOG research TO data_scientists; GRANT CREATE TABLE, USE SCHEMA ON ALL SCHEMAS IN CATALOG research TO data_scientists✓ Correct
  • C. GRANT USE CATALOG ON CATALOG research TO data_scientists; GRANT CREATE TABLE ON CATALOG research TO data_scientists
  • D. GRANT USE CATALOG, USE SCHEMA ON CATALOG research TO data_scientists; GRANT CREATE TABLE ON ALL SCHEMAS IN CATALOG research TO data_scientists
Explanation

To create tables, a user needs USE CATALOG on the catalog, USE SCHEMA on each schema they operate in, and CREATE TABLE privilege. Option B correctly grants USE CATALOG at the catalog level and then grants both USE SCHEMA and CREATE TABLE on all schemas within the catalog, scoping permissions appropriately. Option A grants ALL PRIVILEGES which is overly permissive and would allow dropping/altering tables. Option C omits USE SCHEMA, which is required to navigate into any schema. Option D attempts to grant USE SCHEMA at the catalog level, which is an invalid syntax; USE SCHEMA must be granted at the schema level or via ALL SCHEMAS IN CATALOG.

3.

A large enterprise uses Unity Catalog with a three-level namespace. A senior data architect is designing the catalog hierarchy for a new business unit. They want to ensure that the group bu_finance_users can discover (see) all schemas within the finance catalog when browsing the Data Explorer, but should NOT be able to read any table data by default. Individual schema owners will later grant SELECT privileges on specific tables. Which minimal set of privileges satisfies this requirement?

  • A. GRANT USE CATALOG ON CATALOG finance TO bu_finance_users; GRANT SELECT ON CATALOG finance TO bu_finance_users;
  • B. GRANT USE CATALOG ON CATALOG finance TO bu_finance_users; GRANT USE SCHEMA ON SCHEMA finance.* TO bu_finance_users;
  • C. GRANT USE CATALOG ON CATALOG finance TO bu_finance_users;✓ Correct
  • D. GRANT BROWSE ON CATALOG finance TO bu_finance_users;
Explanation

USE CATALOG on a catalog allows the principal to browse the catalog and its child schemas in the Data Explorer (they can see schemas and table names) without granting any data-reading capability. This is the minimal privilege needed for discoverability at the catalog level — no SELECT is conferred. Option D is incorrect — BROWSE is not a valid Unity Catalog privilege; there is no such privilege in the UC privilege model. Option B is incorrect — USE SCHEMA ON SCHEMA finance.* is not valid syntax in Unity Catalog (wildcards are not supported in GRANT statements); additionally, USE SCHEMA would need to be granted per schema explicitly and is only needed when a user wants to actively use a schema, not just browse it via Data Explorer with USE CATALOG. Option A is incorrect — GRANT SELECT ON CATALOG would grant SELECT on all tables in the entire catalog, which directly violates the requirement that users should NOT be able to read table data by default.

4.

A team is adopting Databricks Asset Bundles (DABs) to manage their pipeline deployments across dev, staging, and production environments. They have a databricks.yml configuration file at the root of their project. Which of the following statements about Databricks Asset Bundles are correct? (Select TWO)

  • A. DABs use the databricks.yml file to define resources such as jobs, pipelines, and clusters, with environment-specific overrides✓ Correct
  • B. DABs require all notebooks to be stored in Databricks Repos and cannot deploy notebooks from a local file system
  • C. The databricks bundle deploy command packages and deploys the bundle resources to the target Databricks workspace✓ Correct
  • D. DABs can only be used for Delta Live Tables pipelines and do not support Databricks Workflows jobs
  • E. DABs support parameterization, allowing different job cluster sizes or schedule settings per target environment (dev/staging/prod)
Explanation

Option A is correct: the databricks.yml file is the core configuration file in DABs where you declare workspace resources (jobs, DLT pipelines, model serving endpoints, etc.) and can define environment-specific (targets) overrides. Option C is correct: databricks bundle deploy is the CLI command that validates, packages, and deploys the defined resources to the specified workspace. Option B is incorrect: DABs support deploying local source files (notebooks, Python files) directly — it does not require pre-existing Repos setup. Option D is incorrect: DABs support both Delta Live Tables pipelines AND Databricks Workflows jobs (and other resource types). Option E, while describing a true capability of DABs, is implicitly covered by Option A's description of environment-specific overrides — it is not a separate distinct correct statement in the context of this question, making A and C the most precise and complete answers.

5.

A Databricks administrator runs the following command to grant a privilege in Unity Catalog:

GRANT SELECT ON TABLE prod.finance.ledger TO `reporting_group`;

Later, the admin discovers that members of reporting_group still cannot query the table. Assuming the GRANT statement executed without error, what is the MOST LIKELY reason the users cannot query the table?

  • A. The GRANT statement is invalid because group names must be quoted with single quotes, not backticks.
  • B. Unity Catalog requires granting READ FILES instead of SELECT for table access.
  • C. The group also needs USE CATALOG on prod and USE SCHEMA on prod.finance.✓ Correct
  • D. SELECT privilege must be granted at the catalog level, not the table level.
Explanation

In Unity Catalog, granting SELECT on a table alone is insufficient. Users must also have USE CATALOG privilege on the parent catalog and USE SCHEMA privilege on the parent schema before they can access any object within them. Option D is incorrect because SELECT can be granted at the table level. Option B is incorrect because READ FILES is used for external locations/volumes, not tables. Option A is incorrect because backtick quoting for identifiers is valid in Databricks SQL.

Test yourself across every Data Engineer Professional domain

The free Data Engineer Professional practice test mixes about 20 questions weighted like the exam. The full 311-question bank adds instant grading, flashcards and a timed mock exam.

Study this domain

Developing Code for Data Processing using Python and SQL study guide (Data Engineer Professional) →

Other Data Engineer Professional domains

← All Databricks Data Engineer Professional study resources