CertSafari

    Free Microsoft Certified: Azure Databricks Data Engineer Associate (DP-750) Sample Questions

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

    Domain 1: Set up and configure an Azure Databricks environment

    Subdomain 1.1: Select and configure compute in a workspace

    1.Business intelligence analysts need to connect Power BI to Databricks to query aggregated data. They require the compute resource to start almost instantly and want to avoid managing cluster configurations. Which compute type is the most appropriate?

    1. A.Serverless SQL Warehouse
    2. B.Job compute
    3. C.All-purpose compute
    4. D.Shared compute cluster
    Show answer & explanation

    Correct answer: AServerless SQL Warehouse

    • A. Serverless SQL warehouses are specifically designed for SQL workloads and BI tools like Power BI. They provide near-instant startup times and handle all infrastructure management, satisfying the requirement to avoid cluster configurations.
    • B. Job compute is used for automated tasks and batch processing. It involves a cold start time for the cluster and is not intended for interactive BI analysis.
    • C. All-purpose compute is designed for data engineering and data science notebooks. It requires manual configuration and typical start-up times are significantly longer than serverless options.
    • D. Shared compute refers to an access mode on a cluster. It still requires manual setup and management of the underlying compute resources and does not offer the instant-start benefits of serverless.

    Subdomain 1.1: Select and configure compute in a workspace

    2.You want to ensure that a cluster automatically reduces its number of worker nodes when they are no longer needed to save costs. You must enable _________.

    1. A.Autoscaling
    2. B.Auto-termination
    3. C.Instance Pools
    Show answer & explanation

    Correct answer: AAutoscaling

    • A. Correct. Autoscaling allows Azure Databricks to dynamically adjust the number of worker nodes in a cluster based on the workload. By setting a minimum and maximum range, Databricks can scale down and decommission worker nodes when they are underutilized, directly optimizing compute costs while maintaining performance during peak periods.
    • B. Incorrect. Auto-termination is a cost-saving feature that shuts down the entire cluster after a specified period of inactivity. While it helps manage overall costs, it does not adjust the number of worker nodes within a running cluster based on resource demand.
    • C. Incorrect. Instance Pools are designed to reduce cluster start and scale-out times by maintaining a pre-allocated set of idle virtual machine instances. While they facilitate faster autoscaling, the logic for reducing the number of nodes based on workload is a function of the Autoscaling feature itself, not the Pool.

    Subdomain 1.1: Select and configure compute in a workspace

    3.To reduce costs for a fault-tolerant batch processing job, you configure the cluster's worker nodes to use _________.

    1. A.Spot instances
    2. B.On-demand instances
    3. C.Dedicated hosts
    Show answer & explanation

    Correct answer: ASpot instances

    • A. Spot instances utilize unused Azure compute capacity at a significant discount compared to standard pricing. Because they can be evicted when Azure needs the capacity back, they are best suited for fault-tolerant workloads like batch processing jobs that can handle interruptions and retries without failing the entire process.
    • B. On-demand instances provide guaranteed compute availability and steady performance at a fixed price. While they are the standard choice for most workloads, they are more expensive than spot instances and are not the most cost-effective option for jobs that are specifically designed to be fault-tolerant.
    • C. Dedicated hosts provide physical server isolation and are typically used for specific compliance, security, or licensing requirements. They are generally the most expensive option and are unnecessary for standard batch processing cost-reduction strategies.

    Subdomain 1.2: Create and organize objects in Unity Catalog

    4.In Unity Catalog, what is the correct fully qualified 3-level namespace format used to reference a table?

    1. A.metastore.catalog.table
    2. B.catalog.schema.table
    3. C.workspace.schema.table
    4. D.database.schema.table
    Show answer & explanation

    Correct answer: Bcatalog.schema.table

    • A. Incorrect. The metastore is the top-level container for metadata in Unity Catalog, but it is not part of the 3-level identifier used to reference a table in queries. The hierarchy starts at the catalog level.
    • B. Correct. Unity Catalog uses a standard 3-level namespace format: catalog.schema.table. This format allows for clear object identification and governance across different catalogs and environments.
    • C. Incorrect. Workspace is the environment where users work, but it is not a level in the Unity Catalog object hierarchy. Unity Catalog is designed to allow objects to be shared across multiple workspaces.
    • D. Incorrect. While 'database' is a term commonly associated with Hive metastore-style organization, Unity Catalog specifically uses the term 'schema' as the second level in its 3-level namespace.

    Subdomain 1.2: Create and organize objects in Unity Catalog

    5.Scenario: To reference a table in Unity Catalog, you must use the fully qualified name which follows the 3-level namespace format: catalog.schema._____.

    1. A.table
    2. B.database
    3. C.volume
    Show answer & explanation

    Correct answer: Atable

    • A. Correct. In Azure Databricks Unity Catalog, the three-level namespace hierarchy for referencing tables is catalog.schema.table. This structure allows for clear data governance and organization, where the catalog is the container for schemas, and the schema is the container for tables.
    • B. Incorrect. In the context of Unity Catalog, 'schema' and 'database' are synonymous and represent the second level of the namespace. The third level, which follows the schema, is the table name itself.
    • C. Incorrect. While Unity Catalog volumes do follow a three-level namespace (catalog.schema.volume), they are specifically used for managing non-tabular data files. The scenario specifically asks for the format used to reference a table.

    Subdomain 1.2: Create and organize objects in Unity Catalog

    6.Scenario: A data engineering team needs to process raw JSON and CSV files stored in an ADLS Gen2 container. They want to govern access to these raw files using Unity Catalog without converting them into Delta tables. Which Unity Catalog object should they create?

    1. A.A managed table
    2. B.An external table
    3. C.An external volume
    4. D.A materialized view
    Show answer & explanation

    Correct answer: CAn external volume

    • A. Incorrect. A managed table stores its data in the Unity Catalog metastore and is fully managed by Databricks. Creating a managed table would require ingesting the raw files and converting them into a Delta table, which contradicts the requirement to govern access without converting into Delta tables.
    • B. Incorrect. An external table registers tabular data stored in an external location, but it still requires defining a schema and typically involves some transformation or schema inference. The team wants to govern access to the raw files directly, without table abstractions.
    • C. Correct. An external volume in Unity Catalog provides governance over non-tabular data files stored in external locations like ADLS Gen2. It allows access control directly on the raw files without requiring conversion into Delta tables, making it ideal for governing access to raw JSON and CSV files.
    • D. Incorrect. A materialized view is a precomputed result set from a query that is stored for performance. It is not used for governing access to raw files and would not apply to files that haven't been loaded into a table.

    Domain 2: Secure and govern Unity Catalog objects

    Subdomain 2.1: Secure Unity Catalog objects

    7.You are configuring a Databricks cluster and need to set an environment variable API_KEY using a secret stored in an Azure Key Vault-backed secret scope named app-secrets. The secret key is api-key. What is the correct syntax to use in the cluster's Spark configuration?

    1. A.spark.executorEnv.API_KEY {{secrets/app-secrets/api-key}}
    2. B.spark.env.API_KEY = dbutils.secrets.get("app-secrets", "api-key")
    3. C.API_KEY {{secrets/app-secrets/api-key}}
    4. D.spark.kubernetes.driverEnv.API_KEY secret:app-secrets:api-key
    Show answer & explanation

    Correct answer: Aspark.executorEnv.API_KEY {{secrets/app-secrets/api-key}}

    • A. Correct. In Databricks cluster Spark configuration, environment variables are set for executors using the `spark.executorEnv.[VARIABLE_NAME]` prefix. The value is securely referenced using the Databricks secret interpolation syntax `{{secrets/<scope-name>/<secret-key>}}`.
    • B. Incorrect. `dbutils.secrets.get()` is a programmatic method used within notebooks or job code (Python/Scala) to retrieve secret values at runtime. It cannot be parsed when placed inside the static Spark configuration text area of a cluster.
    • C. Incorrect. This syntax is intended for the 'Environment Variables' field in the Databricks Cluster UI, not the 'Spark Config' field. Items in the Spark configuration field must be valid Spark properties (beginning with `spark.`).
    • D. Incorrect. This option uses Kubernetes-specific configuration keys and a non-standard secret reference format. Azure Databricks uses the double-curly brace syntax for secret interpolation in cluster configurations.

    Subdomain 2.1: Secure Unity Catalog objects

    8.A developer is trying to read a secret from an Azure Key Vault-backed secret scope in Databricks but receives a `403 Forbidden` error. What are valid reasons for this error?(Select 2)

    1. A.The Databricks workspace does not have the necessary Key Vault access policy or RBAC role assignment to read secrets from the Key Vault.
    2. B.The developer does not have the READ permission on the secret scope's ACL in Databricks.
    3. C.The secret scope was created using the Databricks CLI instead of the UI.
    4. D.The Azure Key Vault is in a different Azure region than the Databricks workspace.
    5. E.The secret contains special characters not supported by Databricks.
    Show answer & explanation

    Correct answers: A, BThe Databricks workspace does not have the necessary Key Vault access policy or RBAC role assignment to read secrets from the Key Vault.; The developer does not have the READ permission on the secret scope's ACL in Databricks.

    • A. Correct. For an Azure Key Vault-backed secret scope, the Databricks service principal must be authorized to access the Key Vault. This requires an Access Policy with 'Get' and 'List' permissions or an Azure RBAC role assignment (such as Key Vault Secrets User). If the workspace identity lacks these permissions, the Key Vault will return a 403 Forbidden error to Databricks.
    • B. Correct. Secret scopes in Databricks enforce their own Access Control Lists (ACLs). Even if the service-level connection to the Key Vault is valid, the specific user or group must be granted the READ permission on the Databricks secret scope itself. If this permission is missing, Databricks denies the request with a 403 error.
    • C. Incorrect. The method used to create the secret scope (CLI, API, or UI) does not impact the authorization logic at runtime. Both the CLI and UI result in the same functional secret scope configuration.
    • D. Incorrect. Azure Key Vault access is not restricted by region; a Databricks workspace in one region can access a Key Vault in another, provided networking and permissions are correctly configured. A region mismatch is not a cause for a 403 Forbidden error.
    • E. Incorrect. Secret values are stored as strings. Special characters within the secret content do not affect the authorization handshake between Databricks and Key Vault, and would not trigger a 403 error.

    Subdomain 2.1: Secure Unity Catalog objects

    9.You are setting up a Unity Catalog Storage Credential using a User-Assigned Managed Identity. Which of the following Azure resources and configurations are involved in this process?(Select 3)

    1. A.Access Connector for Azure Databricks
    2. B.User-Assigned Managed Identity
    3. C.Storage Blob Data Contributor role assignment on the target storage account
    4. D.Azure Key Vault secret scope
    5. E.Databricks Cluster Policy
    6. F.Azure Data Factory linked service
    Show answer & explanation

    Correct answers: A, B, CAccess Connector for Azure Databricks; User-Assigned Managed Identity; Storage Blob Data Contributor role assignment on the target storage account

    • A. Correct. The Access Connector for Azure Databricks is a required Azure resource that acts as a bridge, hosting the managed identity that Unity Catalog uses to securely access storage accounts.
    • B. Correct. A User-Assigned Managed Identity is the identity assigned to the Access Connector. It provides the security principal that Unity Catalog assumes to authenticate against Azure storage.
    • C. Correct. The Managed Identity must be granted the Storage Blob Data Contributor role (or similar) on the target storage account or container. Without this RBAC assignment, the identity lacks the necessary permissions to read or write data.
    • D. Incorrect. Azure Key Vault secret scopes are used for managing secrets like tokens or passwords. Managed Identity-based credentials in Unity Catalog do not require secret scopes, as they rely on Azure's native identity platform.
    • E. Incorrect. Databricks Cluster Policies govern the configuration and sizing of compute resources. They are not involved in the infrastructure setup of Unity Catalog storage credentials.
    • F. Incorrect. Azure Data Factory linked services are used to define connection strings within ADF pipelines and are unrelated to the security and governance of Unity Catalog objects.

    Subdomain 2.2: Govern Unity Catalog objects

    10.A retail company wants to hide customer email addresses from marketing analysts by replacing them with '***', but they must allow the customer support team to see the full email addresses. How should this be implemented in Unity Catalog?

    1. A.Apply a row filter to the table
    2. B.Apply a column mask to the email column
    3. C.Create a data redaction policy on the catalog
    4. D.Encrypt the column using a customer-managed key
    Show answer & explanation

    Correct answer: BApply a column mask to the email column

    • A. Incorrect. A row filter is used to restrict access to entire rows based on specific conditions (e.g., geographical region). It does not provide the ability to transform or mask specific column values within a row.
    • B. Correct. A column mask in Unity Catalog allows for dynamic data masking. You can define a function that checks the user's group membership (e.g., using IS_ACCOUNT_GROUP_MEMBER) to return either the masked value ('***') or the actual email address based on their role.
    • C. Incorrect. Unity Catalog does not utilize 'data redaction policies' at the catalog level for this type of granular masking. Column-level security is specifically handled through column masks.
    • D. Incorrect. Encrypting a column using customer-managed keys (CMK) secures data at rest and protects against unauthorized access at the storage level, but it does not facilitate the dynamic, role-based display masking required for this scenario.

    Subdomain 2.2: Govern Unity Catalog objects

    11.A data engineer runs a PySpark job using the RDD API to transform data and write it to a Unity Catalog table. When checking Catalog Explorer, the upstream lineage for this operation is missing. What is the reason for this?

    1. A.Lineage is only captured for SQL queries in Databricks
    2. B.The RDD API is not supported for automated lineage capture in Unity Catalog
    3. C.The user lacks the READ_LINEAGE privilege on the catalog
    4. D.Lineage takes 24 hours to appear in the Catalog Explorer
    Show answer & explanation

    Correct answer: BThe RDD API is not supported for automated lineage capture in Unity Catalog

    • A. Incorrect. Unity Catalog lineage is not limited to SQL queries; it also captures lineage from supported Spark and Python operations using high-level APIs like DataFrames and Datasets.
    • B. Correct. Unity Catalog captures lineage by intercepting the logical plans of high-level Spark APIs (SQL, DataFrames, and Datasets). Because the RDD API operates at a lower level and bypasses these structured execution plans, automated lineage capture is not supported for RDD-based transformations.
    • C. Incorrect. While a lack of permissions might prevent a user from viewing existing lineage, the reason the lineage is completely missing from the system for this specific operation is the use of an unsupported API. Furthermore, READ_LINEAGE is not a standard Unity Catalog privilege; VIEW MATERIALIZED VIEW or similar permissions might apply to viewing, but not capturing.
    • D. Incorrect. Lineage information in Unity Catalog is captured in near real-time and typically appears in Catalog Explorer shortly after the job completion, not after a 24-hour delay.

    Subdomain 2.2: Govern Unity Catalog objects

    12.You are tasked with setting up Delta Sharing to distribute sales data to an external vendor who does not use Databricks. Which three actions are required to share a table using open Delta Sharing?(Select 3)

    1. A.Create a Share object
    2. B.Add the table to the Share
    3. C.Create a Recipient object
    4. D.Create a Provider object
    5. E.Configure a cluster policy
    6. F.Create an External Location
    Show answer & explanation

    Correct answers: A, B, CCreate a Share object; Add the table to the Share; Create a Recipient object

    • A. Correct. A Share object is a Unity Catalog object that serves as a container for the tables, views, or other assets you intend to share with external recipients.
    • B. Correct. After creating a Share, you must explicitly add the target Delta tables to that Share to make the data available for distribution.
    • C. Correct. A Recipient object represents the external entity receiving the data. In open Delta Sharing (where the recipient does not use Databricks), creating the Recipient object is the step that generates the activation link used by the vendor to download the sharing credentials.
    • D. Incorrect. While a Provider object exists in the Delta Sharing architecture, it is used by the data recipient to represent the entity sharing the data. The data sharer (provider side) manages Shares and Recipients.
    • E. Incorrect. Cluster policies are used to manage and enforce configurations for compute resources within a Databricks workspace and are not part of the data sharing workflow.
    • F. Incorrect. External Locations define access to cloud storage in Unity Catalog. While the data being shared might reside in an external location, creating one is not a specific step in the Delta Sharing setup process for a table.

    Domain 3: Prepare and process data

    Subdomain 3.1: Design and implement data modeling in Unity Catalog

    13.You have a 50 TB Delta table containing historical financial transactions. The table is queried primarily by the transaction_date column, and the data volume is evenly distributed across all dates. You want to implement a partitioning scheme to improve query performance. Which approach should you take?

    1. A.Partition the table by transaction_date.
    2. B.Partition the table by transaction_id.
    3. C.Partition the table by customer_id.
    4. D.Do not partition the table; rely solely on Z-ordering by customer_id.
    Show answer & explanation

    Correct answer: APartition the table by transaction_date.

    • A. Correct. Partitioning by transaction_date is the most effective approach because the table is primarily filtered by this column. With a 50 TB dataset, partition pruning allows the engine to skip large amounts of irrelevant data, significantly improving performance. Since data volume is evenly distributed across dates, this strategy minimizes the risk of partition skew.
    • B. Incorrect. Partitioning by transaction_id is inappropriate due to its high cardinality. Creating partitions based on a unique identifier results in a massive number of tiny partitions, leading to significant metadata overhead and the 'small file problem,' which degrades performance.
    • C. Incorrect. Partitioning by customer_id is sub-optimal because it does not align with the primary query filter (transaction_date). While partitioning by a frequently filtered column is beneficial, choosing the wrong column prevents the engine from leveraging partition pruning for the most common query patterns.
    • D. Incorrect. Z-ordering by customer_id does not address the primary access pattern of transaction_date. While Z-ordering is a powerful data skipping technique, for a 50 TB table frequently queried by date, physical partitioning is the standard practice to reduce the data scan size effectively.

    Subdomain 3.1: Design and implement data modeling in Unity Catalog

    14.A base table stores retail sales data at the receipt-line level (one row per item scanned). The marketing team uses a Databricks SQL dashboard that only requires monthly sales totals per store. The dashboard is currently loading very slowly. To optimize performance based on these requirements, what should you do?

    1. A.Create a materialized view that aggregates the data to the store-month grain.
    2. B.Change the base table to store data at the store-month grain.
    3. C.Partition the base table by receipt ID.
    4. D.Use Liquid Clustering on the receipt-line table.
    Show answer & explanation

    Correct answer: ACreate a materialized view that aggregates the data to the store-month grain.

    • A. Correct. A materialized view can pre-aggregate receipt-line data into the store-month grain, which matches the dashboard’s query pattern. This physically stores the results and reduces runtime computation during dashboard refreshes, making it the ideal solution for frequently accessed summary data.
    • B. Incorrect. Changing the base table to a store-month grain would result in the permanent loss of granular transaction data. In a standard data architecture, you should preserve detail in the base (Silver) layer and use specialized objects like Materialized Views for high-level (Gold) reporting.
    • C. Incorrect. Partitioning by receipt ID involves a high-cardinality column and does not align with the dashboard's aggregation pattern (store and month). This would likely lead to the 'small file problem' and inefficient partition pruning, potentially worsening performance.
    • D. Incorrect. While Liquid Clustering improves data skipping for filters and point lookups, it does not pre-calculate the aggregates required by the dashboard. Since the performance bottleneck is caused by recalculating monthly totals from millions of rows, pre-computation via a materialized view is the superior optimization.

    Subdomain 3.1: Design and implement data modeling in Unity Catalog

    15.You are migrating an existing data lake to Unity Catalog. Several non-Databricks applications read Parquet files directly from an Azure Data Lake Storage Gen2 container. You want to govern this data using Unity Catalog without moving the files or breaking the existing applications. Which table type should you create?

    1. A.An external (unmanaged) table
    2. B.A managed table
    3. C.A Delta Live Table
    4. D.A materialized view
    Show answer & explanation

    Correct answer: AAn external (unmanaged) table

    • A. Correct. An external (unmanaged) table in Unity Catalog allows you to create a metadata layer over existing data files without moving them. This references data stored in its existing location in ADLS Gen2, meaning Unity Catalog can govern the table metadata and permissions while preserving access for existing non-Databricks applications that read the Parquet files directly from the storage path.
    • B. Incorrect. A managed table in Unity Catalog stores data in a Databricks-managed storage location. Creating a managed table would require moving the data, which would break existing applications that currently read files from specific paths in the original ADLS Gen2 container.
    • C. Incorrect. Delta Live Tables (DLT) is a framework for building and managing data processing pipelines. It is not designed for the purpose of simply governing existing Parquet files in place without data movement or transformation.
    • D. Incorrect. A materialized view is a physical storage of a query's result set, typically used for performance optimization. It is not used to govern existing source data files in their current location.

    Subdomain 3.3: Cleanse, transform, and load data into Unity Catalog

    16.You are preparing a dataset for machine learning. You need to calculate summary statistics for all numeric columns in a PySpark DataFrame `df`. You specifically want the output DataFrame to include the 25%, 50%, and 75% percentiles. Which two approaches provide these percentiles directly in the output?(Select 2)

    1. A.df.summary()
    2. B.df.describe()
    3. C.df.summary("25%", "50%", "75%")
    4. D.df.stat.crosstab()
    5. E.df.explain()
    Show answer & explanation

    Correct answers: A, Cdf.summary(); df.summary("25%", "50%", "75%")

    • A. Correct. In PySpark, the `df.summary()` method provides a comprehensive set of statistics by default, including count, mean, stddev, min, max, and the approximate 25%, 50%, and 75% percentiles.
    • B. Incorrect. The `df.describe()` method returns basic descriptive statistics including count, mean, stddev, min, and max, but it does not include percentiles.
    • C. Correct. The `df.summary()` method accepts specific statistics as string arguments. Passing "25%", "50%", and "75%" will return a DataFrame containing exactly those requested percentile rows.
    • D. Incorrect. `df.stat.crosstab()` is used for computing pair-wise frequency tables (contingency tables) for categorical columns, not for calculating summary statistics or percentiles of numeric data.
    • E. Incorrect. `df.explain()` is used to display the logical and physical query execution plans of the DataFrame, which is useful for optimization but does not perform data analysis or calculate statistics.

    Subdomain 3.3: Cleanse, transform, and load data into Unity Catalog

    17.You are processing IoT telemetry data where each device sends a dynamic set of key-value pairs representing sensor readings (e.g., `{"temperature": 22.5, "humidity": 45.0}`). You need to store this data in a single column in a Delta table. You should use the ________ data type to represent this dynamic key-value structure.

    1. A.ArrayType
    2. B.MapType
    3. C.StructType
    Show answer & explanation

    Correct answer: BMapType

    • A. Incorrect. ArrayType is used for ordered collections of elements of the same type. It does not natively support key-value mapping required for sensor readings where each value needs an associated identifier or key for retrieval.
    • B. Correct. MapType is specifically designed for dynamic key-value structures. It is the ideal choice for IoT telemetry data because it allows the keys (sensor names) to vary between records while storing the data in a single column, providing the necessary flexibility without requiring a schema change for every new sensor type.
    • C. Incorrect. StructType is used to represent a structured type with a fixed, predefined schema. While it can store multiple fields, it is rigid and not suitable for scenarios where the keys are dynamic or unknown at the time the schema is defined.

    Subdomain 3.3: Cleanse, transform, and load data into Unity Catalog

    18.You have a DataFrame of all registered users (`df_users`) and a DataFrame of users who logged in today (`df_logins`). You need to find all users who did NOT log in today. Which join type should you use?

    1. A.Left Outer Join
    2. B.Left Anti Join
    3. C.Left Semi Join
    4. D.Full Outer Join
    Show answer & explanation

    Correct answer: BLeft Anti Join

    • A. Incorrect. A Left Outer Join returns all rows from the left DataFrame and matching rows from the right. While you could filter the result where the right-side keys are null, it is not the join type itself that performs the exclusion; a Left Anti Join is the direct solution.
    • B. Correct. A Left Anti Join returns only the rows from the left DataFrame (`df_users`) that have no matching keys in the right DataFrame (`df_logins`). This is the most efficient and direct way to identify users who are in the registry but did not appear in the login logs today.
    • C. Incorrect. A Left Semi Join returns rows from the left DataFrame where a match exists in the right DataFrame. This would effectively find only those users who DID log in today.
    • D. Incorrect. A Full Outer Join returns all rows from both DataFrames, matching them where possible. It includes users who logged in and users who didn't, requiring additional complex filtering to isolate the target group.

    Subdomain 3.4: Implement and manage data quality constraints in Unity Catalog

    19.Scenario: You are completely replacing the data in a Delta table using a batch job. The new DataFrame has a different schema than the existing table, including dropped columns and changed data types. You want to replace the existing table schema with the new DataFrame's schema. Which configuration should you use?

    1. A..option("mergeSchema", "true")
    2. B..option("overwriteSchema", "true")
    3. C..option("replaceSchema", "true")
    4. D..mode("append")
    Show answer & explanation

    Correct answer: B.option("overwriteSchema", "true")

    • A. The mergeSchema option is used for schema evolution, which allows for adding new columns to an existing table. It does not support dropping columns or changing existing data types, making it unsuitable for a full schema replacement.
    • B. The overwriteSchema option, when used in conjunction with .mode("overwrite"), allows you to completely replace the existing table schema with the schema of the new DataFrame. This is the correct choice when columns need to be dropped or data types need to be changed.
    • C. There is no replaceSchema option in Delta Lake. This is an invalid configuration and will not achieve the desired outcome.
    • D. The append mode is used to add new data to an existing table without altering its schema. It does not replace the existing data or schema and would typically fail if the DataFrame schema does not match the table schema.

    Subdomain 3.4: Implement and manage data quality constraints in Unity Catalog

    20.Scenario: A Unity Catalog table has a CHECK constraint ensuring `discount_percentage <= 100`. A batch job attempts to insert 10,000 rows, but 5 of those rows have a `discount_percentage` of 110. What is the outcome of this transaction?

    1. A.The 9,995 valid rows are inserted, and the 5 invalid rows are dropped.
    2. B.The entire transaction fails and is aborted; no rows are inserted.
    3. C.All 10,000 rows are inserted, but the 5 invalid rows have their discount set to NULL.
    4. D.All 10,000 rows are inserted, but a constraint violation event is recorded in the logs.
    Show answer & explanation

    Correct answer: BThe entire transaction fails and is aborted; no rows are inserted.

    • A. Incorrect. Unity Catalog enforces CHECK constraints at the transaction level during write time. It does not support 'partial success' where valid rows are kept and invalid ones are dropped within a single batch insert or update operation.
    • B. Correct. When a row violates a CHECK constraint in Unity Catalog, the entire write operation fails and the transaction is aborted. This ensures strict data integrity by preventing any invalid data from entering the table; as a result, none of the 10,000 rows are committed.
    • C. Incorrect. Constraint enforcement does not automatically repair, coerce, or modify invalid values (such as setting them to NULL). If the data does not satisfy the boolean expression defined in the CHECK constraint, the entire write is rejected.
    • D. Incorrect. While the violation is surfaced as an error and logged, the data is not inserted. A CHECK constraint is a hard gate that prevents the transaction from completing rather than a passive monitoring tool that allows invalid rows through.

    Subdomain 3.4: Implement and manage data quality constraints in Unity Catalog

    21.Scenario: In a Delta Live Tables pipeline, you apply the @expect_or_drop decorator to a table. If a single record in a batch violates the expectation, the entire pipeline update will fail and no data will be written.

    1. A.True
    2. B.False
    Show answer & explanation

    Correct answer: BFalse

    • A. The statement is false because the @expect_or_drop decorator is designed to handle data quality issues by filtering out non-compliant records while allowing the pipeline to continue processing and writing valid data.
    • B. The statement is false because @expect_or_drop removes only the specific rows that violate the constraint from the target dataset; it is @expect_or_fail that would cause the entire pipeline update to stop and fail upon encountering an invalid record.

    Subdomain 3.2: Ingest data into Unity Catalog

    22.When writing a Spark Structured Streaming DataFrame to a Unity Catalog Delta table, which three output modes are supported?(Select 3)

    1. A.Append
    2. B.Complete
    3. C.Update
    4. D.Overwrite
    5. E.Merge
    6. F.Upsert
    Show answer & explanation

    Correct answers: A, B, CAppend; Complete; Update

    • A. Append mode is the default and most common output mode for Delta sinks in Structured Streaming. It adds new records to the target table without modifying existing rows.
    • B. Complete mode is supported by Delta sinks for queries that include aggregations. In this mode, the entire result table is recalculated and overwritten in the target table with each trigger.
    • C. Update mode is supported for stateful streaming queries where only the rows that have changed since the last trigger are emitted. This is compatible with Delta Lake sinks when the query semantics allow updates.
    • D. Overwrite is a save mode used in batch processing (DataFrameWriter). Spark Structured Streaming (DataStreamWriter) uses specific output modes (Append, Complete, Update) rather than batch SaveModes.
    • E. Merge is a Delta Lake-specific DML operation used for upserting data. While it can be used within a foreachBatch sink, it is not an official Spark Structured Streaming output mode.
    • F. Upsert is a data manipulation pattern, not a native Spark Structured Streaming output mode. This logic is typically implemented using a Merge operation, not as a standalone streaming mode.

    Subdomain 3.2: Ingest data into Unity Catalog

    23.You are configuring Auto Loader with `cloudFiles.useNotifications = true` to ingest data from ADLS Gen2. Databricks will automatically create the necessary Azure Event Grid and Queue Storage resources, provided the service principal or managed identity used has the required Azure RBAC permissions.

    1. A.True
    2. B.False
    Show answer & explanation

    Correct answer: ATrue

    • A. The statement is true because when file notification mode is enabled, Auto Loader can automatically provision and configure the required Azure infrastructure (Event Grid subscription and Storage Queue) if the service principal or managed identity has the necessary RBAC permissions, such as Contributor or specific resource management roles.
    • B. The statement is false because Auto Loader is designed to handle the orchestration and lifecycle of notification services automatically, provided the identity has the correct permissions, rather than requiring the user to manually create these resources in the Azure portal beforehand.

    Subdomain 3.2: Ingest data into Unity Catalog

    24.You are using Auto Loader to ingest data. You want the pipeline to fail immediately if a new column is detected in the source files, so you can manually review the schema change before proceeding. To achieve this, you should set the `cloudFiles.schemaEvolutionMode` option to ________.

    1. A.failOnNewColumns
    2. B.rescue
    3. C.none
    Show answer & explanation

    Correct answer: AfailOnNewColumns

    • A. Correct. Setting `cloudFiles.schemaEvolutionMode` to `failOnNewColumns` causes Auto Loader to stop processing immediately when it detects a column that was not previously part of the schema. This behavior is ideal when strict schema control and manual review are required before allowing data with new fields to be ingested.
    • B. Incorrect. The `rescue` mode is used to capture unexpected data in a `_rescued_data` column without failing the pipeline. This allows ingestion to continue smoothly, which contradicts the requirement for the pipeline to fail for manual review.
    • C. Incorrect. The `none` mode disables schema evolution, meaning that any new columns are ignored and not added to the schema. It does not provide the immediate failure behavior needed for manual intervention upon schema changes.

    Domain 4: Deploy and maintain data pipelines and workloads

    Subdomain 4.3: Implement development lifecycle processes in Azure Databricks

    25.You are designing an end-to-end (E2E) testing strategy for a Databricks machine learning pipeline. The pipeline ingests raw data, performs feature engineering, trains a model, and registers it in MLflow. Which three actions are appropriate for an E2E test of this pipeline?(Select 3)

    1. A.Mocking the MLflow registry to prevent actual model registration.
    2. B.Running the entire pipeline from data ingestion to model registration in a staging environment.
    3. C.Validating that the final model is successfully registered in the MLflow Model Registry with the correct tags.
    4. D.Testing a single Python function that calculates the mean of a column.
    5. E.Using a representative subset of production-like data to execute the pipeline.
    6. F.Bypassing the feature engineering step to speed up the test execution.
    Show answer & explanation

    Correct answers: B, C, ERunning the entire pipeline from data ingestion to model registration in a staging environment.; Validating that the final model is successfully registered in the MLflow Model Registry with the correct tags.; Using a representative subset of production-like data to execute the pipeline.

    • A. Incorrect. Mocking the MLflow registry avoids exercising real integration points. End-to-end (E2E) tests should validate that the pipeline works across actual components and external dependencies to catch integration-specific failures.
    • B. Correct. Running the full pipeline in a staging environment is a standard E2E approach. It validates the complete workflow across ingestion, transformation, training, and registration, identifying issues that unit tests might miss.
    • C. Correct. Verifying that the model is registered in MLflow with the correct metadata and tags confirms the pipeline successfully completed its final operational step and produced the expected output.
    • D. Incorrect. Testing an isolated function is a unit test. While important for code quality, it does not validate the flow of data or interaction between different pipeline stages required for E2E testing.
    • E. Correct. Using a representative, production-like subset of data ensures the test remains realistic and mimics production behavior while keeping the runtime and cost of the E2E suite manageable.
    • F. Incorrect. Bypassing feature engineering means the pipeline is no longer being tested end-to-end. This skips a critical stage where logic errors or data format mismatches could occur.

    Subdomain 4.3: Implement development lifecycle processes in Azure Databricks

    26.You are creating a Databricks Asset Bundle to deploy a complex data workflow. Which three types of Databricks resources can be defined and managed directly within the bundle's configuration file (`databricks.yml`)?(Select 3)

    1. A.Databricks Workspaces
    2. B.Databricks Jobs
    3. C.Delta Live Tables (DLT) pipelines
    4. D.Unity Catalog Metastore creation
    5. E.Model serving endpoints
    6. F.Azure Resource Groups
    Show answer & explanation

    Correct answers: B, C, EDatabricks Jobs; Delta Live Tables (DLT) pipelines; Model serving endpoints

    • A. Databricks Workspaces are the target environments where bundles are deployed, not resources defined within the bundle configuration itself. Workspace provisioning is typically handled via Azure Portal, CLI, or Infrastructure-as-Code tools like Terraform.
    • B. Databricks Jobs are a core resource type supported by Databricks Asset Bundles. They can be defined in the `databricks.yml` to orchestrate notebooks, JARs, or Python scripts as part of a version-controlled deployment.
    • C. Delta Live Tables (DLT) pipelines are natively supported in Databricks Asset Bundles, allowing developers to manage the lifecycle and deployment of data engineering pipelines alongside other project assets.
    • D. Unity Catalog Metastore creation is an account-level governance task. While Bundles can interact with UC assets, the creation of the metastore itself is not managed within the bundle's `databricks.yml` configuration.
    • E. Model serving endpoints can be included in Databricks Asset Bundles. This enables the consistent deployment and management of machine learning serving infrastructure as part of the application lifecycle.
    • F. Azure Resource Groups are Azure platform-level resources. Databricks Asset Bundles are designed to manage Databricks-native assets and do not provision or manage underlying Azure cloud infrastructure like resource groups.

    Subdomain 4.3: Implement development lifecycle processes in Azure Databricks

    27.In a Databricks CI/CD pipeline, unit tests require an active Databricks cluster to execute successfully, even if they only test pure Python logic without PySpark dependencies.

    1. A.True
    2. B.False
    Show answer & explanation

    Correct answer: BFalse

    • A. The statement is false because pure Python unit tests do not have dependencies on the Spark engine or the Databricks Runtime, allowing them to be executed on standard CI/CD build agents or local environments without a cluster.
    • B. The statement is false because a Databricks cluster is only required for tests that utilize Spark-specific functionalities or Databricks-specific APIs; decoupling pure logic allows for faster and more cost-effective testing on isolated runners.

    Subdomain 4.1: Design and implement data pipelines

    28.A data engineering team needs to build a new pipeline that automatically handles state management, enforces data quality expectations, and supports continuous processing of streaming data. Which orchestration tool is best suited for this scenario?

    1. A.Databricks Notebooks scheduled via cron
    2. B.Lakeflow Spark Declarative Pipelines (Delta Live Tables)
    3. C.Databricks SQL Alerts
    4. D.Lakeflow Jobs with Python wheels
    Show answer & explanation

    Correct answer: BLakeflow Spark Declarative Pipelines (Delta Live Tables)

    • A. Incorrect. Databricks Notebooks scheduled via cron are a basic automation method but do not inherently provide state management or declarative data quality enforcement. Implementing these features would require extensive manual coding for checkpointing and validation logic.
    • B. Correct. Lakeflow Spark Declarative Pipelines (Delta Live Tables) are specifically designed to simplify the ETL lifecycle. They provide a declarative framework that automatically handles streaming state management, enforces data quality through 'expectations', and supports both batch and continuous processing modes.
    • C. Incorrect. Databricks SQL Alerts are monitoring tools used to trigger notifications based on specific data conditions in SQL queries. They are not orchestration tools for building data pipelines or managing streaming state.
    • D. Incorrect. While Lakeflow Jobs with Python wheels are useful for running modular and packageable code, they are imperative by nature. They do not provide the built-in, declarative framework for state management and data quality enforcement that is native to Delta Live Tables.

    Subdomain 4.1: Design and implement data pipelines

    29.You are defining a data quality constraint in a Lakeflow Declarative Pipeline. If a record contains a null `customer_id`, the specific record should be discarded, but the pipeline should continue processing the remaining records. Which expectation should you use?

    1. A.@dlt.expect('valid_id', 'customer_id IS NOT NULL')
    2. B.@dlt.expect_or_fail('valid_id', 'customer_id IS NOT NULL')
    3. C.@dlt.filter('valid_id', 'customer_id IS NOT NULL')
    4. D.@dlt.expect_or_drop('valid_id', 'customer_id IS NOT NULL')
    Show answer & explanation

    Correct answer: D@dlt.expect_or_drop('valid_id', 'customer_id IS NOT NULL')

    • A. @dlt.expect records the result of the expectation in the pipeline's event log and metrics but does not drop the record. The pipeline continues processing, and invalid records are still included in the target table.
    • B. @dlt.expect_or_fail causes the entire pipeline execution to halt and fail if a single record violates the constraint. This is used for critical data quality issues and does not meet the requirement of continuing processing.
    • C. @dlt.filter is not a valid decorator for defining expectations in Delta Live Tables (Lakeflow Declarative Pipelines). Expectations use the specific syntax of expect, expect_or_drop, or expect_or_fail.
    • D. @dlt.expect_or_drop is the correct decorator to discard records that do not satisfy the condition (e.g., where customer_id is NULL) while allowing the pipeline to continue processing valid records.

    Subdomain 4.1: Design and implement data pipelines

    30.You are designing a Lakeflow Job where Task B should only execute if Task A evaluates a specific condition to true. You can achieve this by having Task A use `dbutils.jobs.task.setValues()` and configuring Task B to use a ________ task type to evaluate the output.

    1. A.Run If
    2. B.If/Else condition
    3. C.Switch/Case
    Show answer & explanation

    Correct answer: BIf/Else condition

    • A. Incorrect. 'Run If' is a task execution condition property (e.g., All succeeded, At least one failed) rather than a standalone task type. It controls execution based on the status of predecessor tasks, not the evaluation of specific values or logic passed between tasks.
    • B. Correct. The 'If/Else condition' task type in Databricks Workflows allows you to branch logic based on a boolean expression. By retrieving values set by a previous task using `dbutils.jobs.task.setValues()`, the If/Else task can evaluate whether the condition is true or false to determine the subsequent path of the workflow.
    • C. Incorrect. While 'Switch/Case' provides branching logic, it is designed for selecting one of several paths based on multiple potential values (strings or integers). The scenario described involves a binary true/false condition evaluation, which is the specific use case for the If/Else condition task.

    Subdomain 4.2: Implement Lakeflow Jobs

    31.You want to run a notebook directly from a remote Git repository branch named 'release/v1.2' without manually pulling the code into the Databricks workspace. How should you configure the job?

    1. A.Configure the Git provider in the Job settings and reference the branch in the task
    2. B.Clone the repository to Workspace Repos and schedule the workspace notebook
    3. C.Use the Databricks CLI to copy the notebook to DBFS before the run
    4. D.Configure a File arrival trigger on the Git repository URL
    Show answer & explanation

    Correct answer: AConfigure the Git provider in the Job settings and reference the branch in the task

    • A. Correct. Configuring the job to use a Git provider source and pointing the task at the specific branch 'release/v1.2' allows Databricks to pull the notebook content from the repository at runtime. This avoids the need for manual workspace imports and ensures the job uses the version specified in the remote Git repository.
    • B. Incorrect. Cloning the repository to Databricks Git Folders (formerly Workspace Repos) requires manual intervention or sync to bring the code into the workspace. This method references a workspace path rather than executing directly from the remote Git branch at runtime as requested.
    • C. Incorrect. Using the Databricks CLI to copy files to DBFS is not a native Git integration feature. It adds operational overhead and involves moving code out of the repository into Databricks-managed storage, failing the requirement to run directly from Git.
    • D. Incorrect. File arrival triggers are designed to start jobs when new data files land in a cloud storage location (like ADLS Gen2 or S3). They cannot be configured to monitor Git repository URLs or trigger notebook execution based on Git activity.

    Subdomain 4.2: Implement Lakeflow Jobs

    32.You are running a Delta Live Tables (DLT) pipeline as a task within a Databricks Job. You want to ensure the pipeline automatically recovers from transient cluster failures. What is the recommended approach?

    1. A.Configure the task as a Pipeline task; DLT handles its own retries automatically
    2. B.Set Max Retries to 5 on the DLT task configuration
    3. C.Use a Notebook task to trigger the DLT pipeline via the REST API
    4. D.Configure a Continuous trigger specifically on the DLT task
    Show answer & explanation

    Correct answer: AConfigure the task as a Pipeline task; DLT handles its own retries automatically

    • A. Correct. Configuring the task as a Pipeline task is the native and recommended way to run a DLT pipeline within a Databricks Job. DLT includes built-in retry and recovery behavior for transient infrastructure issues, allowing the service to manage pipeline execution semantics and recovery internally without requiring manual job-level retry logic.
    • B. Incorrect. While setting Max Retries on the job task can help with task-level failures, it is not the recommended mechanism for DLT-specific recovery. DLT is designed to manage its own internal execution and infrastructure recovery, making high job-level retry settings redundant for transient cluster issues.
    • C. Incorrect. Triggering a DLT pipeline via a Notebook task using the REST API adds unnecessary complexity and custom orchestration logic. This method bypasses the native resiliency benefits and simplified management provided by the integrated Pipeline task type.
    • D. Incorrect. A Continuous trigger defines the execution mode (streaming/always-on) rather than the recovery mechanism for transient cluster failures. While continuous pipelines do attempt to stay active, the primary way to ensure the Job handles the DLT lifecycle and recovery correctly is by using the Pipeline task type.

    Subdomain 4.2: Implement Lakeflow Jobs

    33.Which of the following are valid task types that you can add to a Databricks Lakeflow Job?(Select 3)

    1. A.Notebook
    2. B.Python Wheel
    3. C.SQL Query
    4. D.Power BI Dashboard
    5. E.Excel Macro
    Show answer & explanation

    Correct answers: A, B, CNotebook; Python Wheel; SQL Query

    • A. Notebook tasks are a standard and highly common task type in Databricks Lakeflow Jobs (Workflows). They allow for the execution of code (Python, SQL, Scala, or R) contained within a Databricks notebook as part of an orchestrated pipeline.
    • B. Python Wheel tasks are supported in Databricks Jobs. They allow you to run packaged Python code distributed as a wheel (.whl) file, which is a best practice for productionizing reusable and modular job logic.
    • C. SQL Query tasks (along with SQL Alerts and SQL Dashboards) are valid task types that execute logic against a Databricks SQL warehouse. This is essential for analytics, transformations, and reporting logic within the lakehouse.
    • D. Power BI Dashboards are external visualization components. While Databricks provides data to Power BI, managing or executing the dashboard itself is not a native task type within a Databricks Lakeflow Job.
    • E. Excel Macros are automation features specific to Microsoft Excel and are not supported as executable tasks within the Databricks orchestration environment.

    Subdomain 4.4: Monitor, troubleshoot, and optimize workloads in Azure Databricks

    34.Scenario: A Spark job is taking significantly longer than expected. Upon inspecting the Spark UI, you notice that within a specific stage, one task takes 45 minutes to complete and processes 50 GB of data, while the other 199 tasks complete in 2 minutes and process around 200 MB each. What is the most likely cause of this performance issue?

    1. A.Data spilling to disk
    2. B.Data skew
    3. C.Insufficient cluster memory
    4. D.High network latency
    Show answer & explanation

    Correct answer: BData skew

    • A. Incorrect. While data spilling to disk often occurs as a result of a massive task exceeding memory limits, it is a symptom rather than the root cause of the imbalance. Spilling typically affects multiple tasks more uniformly if memory is insufficient across the cluster, and it does not explain why one task has 250 times more data than others.
    • B. Correct. This scenario is a textbook example of data skew, where data is unevenly distributed across partitions (often due to a join or group-by key with high cardinality issues). This creates 'straggler' tasks that process significantly more data than others, delaying the completion of the entire stage.
    • C. Incorrect. Insufficient cluster memory generally causes widespread performance degradation, frequent garbage collection, or OutOfMemory (OOM) errors across many tasks. It would not cause a single task to process a vastly different volume of data compared to its peers.
    • D. Incorrect. High network latency impacts the time it takes to move data during shuffle operations, but it would typically affect all tasks involved in the shuffle. It does not explain the extreme discrepancy in the amount of data processed by a single task.

    Subdomain 4.4: Monitor, troubleshoot, and optimize workloads in Azure Databricks

    35.Scenario: A Spark SQL join operation is suffering from severe data skew on the join key, causing a few tasks to run significantly longer than the rest. Which two techniques can be used to resolve this data skew issue?(Select 2)

    1. A.Enable Adaptive Query Execution (AQE) skew join optimization.
    2. B.Add a random salt to the join key.
    3. C.Decrease the cluster memory.
    4. D.Use a cross join instead of an inner join.
    5. E.Run the VACUUM command on the source tables.
    Show answer & explanation

    Correct answers: A, BEnable Adaptive Query Execution (AQE) skew join optimization.; Add a random salt to the join key.

    • A. Adaptive Query Execution (AQE) is a built-in Spark optimization that detects skewed partitions at runtime and splits them into smaller tasks. This dynamically balances the workload across tasks to prevent a few 'straggler' tasks from delaying the entire job.
    • B. Adding a random salt to the join key involves appending a random number to the key in one table and duplicating the other table's records for each possible salt value. This redistributes the skewed keys across multiple partitions, preventing any single executor from being overwhelmed by a single heavy key.
    • C. Decreasing cluster memory does not address the underlying data distribution issue. In fact, it would likely worsen performance or cause Out-of-Memory (OOM) errors because skewed tasks already require high memory to process large partitions.
    • D. A cross join produces a Cartesian product, which dramatically increases the volume of data processed. This is not a skew mitigation strategy and would significantly degrade performance for large datasets.
    • E. The VACUUM command is a Delta Lake maintenance operation used to remove files that are no longer in the latest state of the transaction log and are older than the retention threshold. It manages storage space and has no effect on join execution or data skew.

    Want the full experience?

    These are just samples. Practice the full Microsoft Certified: Azure Databricks Data Engineer Associate (DP-750) question bank in quiz mode — free, no signup, with domain practice and exam simulation.