DP-750 Exam Questions & Answers
Implementing Data Engineering Solutions Using Azure Databricks • Microsoft
100% money-back guarantee
Sample DP-750 Questions
Practice with real exam-style questions, each with the verified correct answer and explanation.
You have an Azure Databricks workspace that is enabled for Unity Catalog and contains two managed Delta tables named sales.schema1.table1 and sales.schema1.table2.
sales.schema1.table1 contains sales data from the current year.
sales.schema1.table2 contains historical data.
You need to load all the rows from sales.schema1.table1 into sales.schema1.table2. The solution must preserve any existing data in sales.schema1.table2 and minimize processing effort.
Which command should you run?
CORRECT ANSWE R: A - INSERT INTO sales.schema1.table2 SELECT * FROM sales.schema1.table1;
According to Microsoft Learn on Delta Lake DML operations, INSERT INTO appends all rows from the source table to the target table without affecting existing data. This directly satisfies both requirements: 'preserve any existing data in table2' and 'minimize processing effort.' Option B (CREATE TABLE AS SELECT) would create a new table or fail if table2 already exists --- it does not preserve existing data. Option C (INSERT OVERWRITE) replaces all existing data in table2 with the rows from table1, violating the 'preserve existing data' requirement. Option D (CREATE OR REPLACE TABLE AS SELECT) drops and recreates table2 entirely, deleting all existing historical data. INSERT INTO is the simplest, most direct command for appending data from one Delta table to another while preserving all existing rows.
You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a Delta table named Orders.
You load the Orders table into an Apache Spark DataFrame named df.
You need to create a DataFrame that excludes rows where the order amount is null.
Solution: You run the following expression.
df.dropna(subset=["order_amount"])
Does this meet the goal?
CORRECT ANSWE R: A - Yes.
According to Microsoft Learn on PySpark DataFrame operations, df.dropna(subset=['order_amount']) removes all rows from the DataFrame where the specified column (order_amount) contains a null value. The resulting DataFrame contains only rows where order_amount is not null, which directly meets the requirement to 'create a DataFrame that excludes rows where the order_amount is null.' The dropna() method (equivalent to DataFrame.na.drop()) is the idiomatic PySpark approach for removing rows with null values in specified columns. The subset parameter limits the null check to only the order_amount column, preserving rows where other columns may be null. This is the correct and recommended approach for null row exclusion in PySpark.
You need to deploy Databricks Asset Bundles to a development environment. The solution must support automated and repeatable deployments across environments.
What should you use?
CORRECT ANSWE R: C - The Databricks CLI.
According to Microsoft Learn on Databricks Asset Bundles deployment, the Databricks CLI (version 0.205+) is the official tool for deploying DABs to any environment. The deployment commands 'databricks bundle deploy' and 'databricks bundle run' are part of the CLI and support automated, repeatable, and environment-aware deployments. The CLI reads the databricks.yml configuration and deploys the bundle resources to the specified target environment. Option A (Azure Developer CLI / azd) is for deploying Azure infrastructure and does not natively support Databricks Asset Bundles. Option B (Git folders) is a workspace feature for syncing notebook code from Git but does not handle full DAB deployment. Option D (Azure CLI) manages Azure infrastructure and resources but does not have native support for deploying Databricks Asset Bundles.
You have an Azure Databricks workspace that is enabled for Unity Catalog.
You have a Lakeflow Spark Declarative Pipelines (SDP) pipeline that writes numerical data to a table named Table1 by using a data quality validation rule named rule1.
You need to modify rule1 to meet the following requirements:
Ensure that amount is always greater than 0.
Prevent an update to Table1 from being committed when data that violates rule1 is detected.
Which statement should you execute?
CORRECT ANSWE R: C - @dlt.expect_or_fail('rule1', 'amount > 0')
According to Microsoft Learn on Lakeflow Spark Declarative Pipelines (formerly Delta Live Tables) data quality, there are three expectation decorators with different behaviors on violation. @dlt.expect records violations as metrics but continues processing and writes all records. @dlt.expect_or_drop drops violating records but allows the pipeline to continue. @dlt.expect_or_fail fails the entire pipeline update and prevents the commit to the table when a violation is detected --- this is the correct choice when the requirement is 'Prevent an update to Table1 from being committed when data that violates rule1 is detected.' @dlt.expect_all_or_drop accepts a dictionary of rules and drops violating rows but does not halt the pipeline. Since the requirement explicitly states the update must not be committed on violation, @dlt.expect_or_fail is the only decorator that provides this fail-fast, transactional guarantee.
You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a Delta table named Orders
You load the Orders table into an Apache Spark DataFrame named df.
You need to create a DataFrame that excludes rows where the order amount is null.
Solution: You run the following expression.
df-fillna(0, subset=['order_amount'])
Does this meet the goal?
CORRECT ANSWE R: B - No.
According to Microsoft Learn on PySpark DataFrame operations, df.fillna(0, subset=['order_amount']) replaces null values in the order_amount column with the integer 0. This does NOT exclude rows where order_amount is null --- it replaces the null with 0, meaning those rows are still included in the resulting DataFrame with 0 as the order_amount value. The requirement is to 'create a DataFrame that excludes rows where the order_amount is null' --- which means null rows must be removed (dropped), not filled. The correct operation to exclude null rows is df.dropna(subset=['order_amount']) or df.filter(df.order_amount.isNotNull()). fillna is used for data imputation (replacing nulls with a default value), which is a different operation from filtering out null rows.
Get access to all 91 verified questions with detailed answers.
Unlock All DP-750 Questions