wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

databrick_30

Total questions: 30

Worksheet time: 15mins

Name
Class
Date
1.

An upstream system has been configured to pass the date for a given batch of data to the Databricks Jobs API as a parameter. The notebook to be scheduled will use this parameter to load data with the following code: df = spark.read.format("parquet").load(f"/mnt/source/(date)") Which code block should be used to create the date Python variable used in the above code block

a)

date = spark.conf.get("date")

b)

input_dict = input() date= input_dict"date"

c)

import sys date = sys.argv

d)

date = dbutils.notebooks.getParam("date"

e)

dbutils.widgets.text("date", "null")

date = dbutils.widgets.get("date")

2.

The Databricks workspace administrator has configured interactive clusters for each of the data engineering groups. To control costs, clusters are set to terminate after 30 minutes of inactivity. Each user should be able to execute workloads against their assigned clusters at any time of the day. Assuming users have been added to a workspace but not granted any permissions, which of the following describes the minimal permissions a user would need to start and attach to an already configured cluster

a)

"Can Manage" privileges on the required cluster

b)

Workspace Admin privileges, cluster creation allowed, "Can Attach To" privileges on the required cluster

c)

Cluster creation allowed, "Can Attach To" privileges on the required cluster

d)

"Can Restart" privileges on the required cluster

e)

Cluster creation allowed, "Can Restart" privileges on the required cluster

3.

When scheduling Structured Streaming jobs for production, which configuration automatically recovers from query failures and keeps costs low?

a)

Cluster: New Job Cluster;

Retries: Unlimited;

Maximum Concurrent Runs: Unlimited

b)

Cluster: New Job Cluster;

Retries: None; Maximum Concurrent Runs: 1

c)

Cluster: Existing All-Purpose Cluster;

Retries: Unlimited;

Maximum Concurrent Runs: 1

d)

Cluster: New Job Cluster;

Retries: Unlimited;

Maximum Concurrent Runs: 1

e)

Cluster: Existing All-Purpose Cluster; Retries: None;

Maximum Concurrent Runs: 1

4.

The data engineering team has configured a Databricks SQL query and alert to monitor the values in a Delta Lake table. The recent_sensor_recordings table contains an identifying sensor_id alongside the timestamp and temperature for the most recent 5 minutes of recordings. The below query is used to create the alert:
SELECTMEAN(temperature),MAX(temperature),MIN(temperature)FROMrecentsensorrecordingsGROUPBYsensoridSELECTMEAN(temperature),MAX(temperature),MIN(temperature)FROMrecent_sensor_recordingsGROUPBYsensor_id

The query is set to refresh each minute and always completes in less than 10 seconds. The alert is set to trigger when mean (temperature) > 120. Notifications are triggered to be sent at most every 1 minute. If this alert raises notifications for 3 consecutive minutes and then stops, which statement must be true?

a)

The total average temperature across all sensors exceeded 120 on three consecutive executions of the query

b)

The recent_sensor_recordings table was unresponsive for three consecutive runs of the query

c)

The source query failed to update properly for three consecutive minutes and then restarted

d)

The maximum temperature recording for at least one sensor exceeded 120 on three consecutive executions of the query

e)

The average temperature recordings for at least one sensor exceeded 120 on three consecutive executions of the query

5.

A junior developer complains that the code in their notebook isn't producing the correct results in the development environment. A shared screenshot reveals that while they're using a notebook versioned with Databricks Repos, they're using a personal branch that contains old logic. The desired branch named dev-2.3.9 is not available from the branch selection dropdown. Which approach will allow this developer to review the current logic for this notebook?

a)

Use Repos to make a pull request use the Databricks REST API to update the current branch to dev-2.3.9

b)

Use Repos to pull changes from the remote Git repository and select the dev-2.3.9 branch. Most Voted

c)

Use Repos to checkout the dev-2.3.9 branch and auto-resolve conflicts with the current branch

d)

Merge all changes back to the main branch in the remote Git repository and clone the repo again

e)

Use Repos to merge the current branch and the dev-2.3.9 branch, then make a pull request to sync with the remote repository

6.

The security team is exploring whether or not the Databricks secrets module can be leveraged for connecting to an external database. After testing the code with all Python variables being defined with strings, they upload the password to the secrets module and configure the correct permissions for the currently active user. They then modify their code to the following (leaving all other variables unchanged).
Which statement describes what will happen when the above code is executed?

a)

The connection to the external table will fail; the string "REDACTED" will be printed.

b)

An interactive input box will appear in the notebook; if the right password is provided, the connection will succeed and the encoded password will be saved to DBFS.

c)

An interactive input box will appear in the notebook; if the right password is provided, the connection will succeed and the password will be printed in plain text.

d)

The connection to the external table will succeed; the string value of password will be printed in plain text.

e)

The connection to the external table will succeed; the string "REDACTED" will be printed.

7.

The data science team has created and logged a production model using MLflow. The following code correctly imports and applies the production model to output the predictions as a new DataFrame named preds with the schema "customer_id LONG, predictions DOUBLE, date DATE".
The data science team would like predictions saved to a Delta Lake table with the ability to compare all predictions across time. Churn predictions will be made at most once per day. Which code block accomplishes this task while minimizing potential compute costs?

a)

preds.write.mode("append").saveAsTable("churn_preds")

b)

preds.write.format("delta").saveAsTable("churn_preds")

c)

(preds.writeStream .outputMode("overwrite") .option("checkpointPath", "/checkpoints/churn_preds") .start("/preds/churn_preds") )

d)

(preds.write .format("delta") .mode("overwrite") .saveAsTable("churn_preds") )

e)

(preds.writeStream .outputMode("append") .option("checkpointPath", "/checkpoints/churn_preds") .table("churn_preds") )

8.

An upstream source writes Parquet data as hourly batches to directories named with the current date. A nightly batch job runs the following code to ingest all data from the previous day as indicated by the date variable:

Assume that the fields customer_id and order_id serve as a composite key to uniquely identify each order. If the upstream system is known to occasionally produce duplicate entries for a single order hours apart, which statement is correct?

a)

Each write to the orders table will only contain unique records, and only those records without duplicates in the target table will be written.

b)

Each write to the orders table will only contain unique records, but newly written records may have duplicates already present in the target table

c)

Each write to the orders table will only contain unique records; if existing records with the same key are present in the target table, these records will be overwritten.

d)

Each write to the orders table will only contain unique records; if existing records with the same key are present in the target table, the operation will fail

e)

Each write to the orders table will run deduplication over the union of new and existing records, ensuring no duplicate records are present.

9.

A junior member of the data engineering team is exploring the language interoperability of Databricks notebooks. The intended outcome of the below code is to register a view of all sales that occurred in countries on the continent of Africa that appear in the geo_lookup table. Before executing the code, running SHOW TABLES on the current database indicates the database contains only two tables: geo_lookup and sales.
Which statement correctly describes the outcome of executing these command cells in order in an interactive notebook?

a)

Both commands will succeed. Executing show tables will show that countries_af and sales_af have been registered as views.

b)

Cmd 1 will succeed. Cmd 2 will search all accessible databases for a table or view named countries_af: if this entity exists, Cmd 2 will succeed.

c)

Cmd 1 will succeed and Cmd 2 will fail. countries_af will be a Python variable representing a PySpark DataFrame.

d)

Both commands will fail. No new variables, tables, or views will be created

e)

Cmd 1 will succeed and Cmd 2 will fail. countries_af will be a Python variable containing a list of strings.

10.

A Delta table of weather records is partitioned by date and has the below schema: date DATE, device_id INT, temp FLOAT, latitude FLOAT, longitude FLOAT To find all the records from within the Arctic Circle, you execute a query with the below filter: latitude > 66.3 Which statement describes how the Delta engine identifies which files to load?

a)

All records are cached to an operational database and then the filter is applied

b)

The Parquet file footers are scanned for min and max statistics for the latitude column

c)

All records are cached to attached storage and then the filter is applied

d)

The Delta log is scanned for min and max statistics for the latitude column

e)

The Hive metastore is scanned for min and max statistics for the latitude column

11.

The data engineering team has configured a job to process customer requests to be forgotten (have their data deleted). All user data that needs to be deleted is stored in Delta Lake tables using default table settings. The team has decided to process all deletions from the previous week as a batch job at 1am each Sunday. The total duration of this job is less than one hour. Every Monday at 3am, a batch job executes a series of VACUUM commands on all Delta Lake tables throughout the organization. The compliance officer has recently learned about Delta Lake's time travel functionality. They are concerned that this might allow continued access to deleted data. Assuming all delete logic is correctly implemented, which statement correctly addresses this concern?

a)

Because the VACUUM command permanently deletes all files containing deleted records, deleted records may be accessible with time travel for around 24 hours.

b)

Because the default data retention threshold is 24 hours, data files containing deleted records will be retained until the VACUUM job is run the following day.

c)

Because Delta Lake time travel provides full access to the entire history of a table, deleted records can always be recreated by users with full admin privileges.

d)

Because Delta Lake's delete statements have ACID guarantees, deleted records will be permanently purged from all storage systems as soon as a delete job completes.

e)

Because the default data retention threshold is 7 days, data files containing deleted records will be retained until the VACUUM job is run 8 days later.

12.

A junior data engineer has configured a workload that posts the following JSON to the Databricks REST API endpoint 2.0/jobs/create:
Assuming that all configurations and referenced resources are available, which statement describes the result of executing this workload three times

a)

Three new jobs named "Ingest new data" will be defined in the workspace, and they will each run once daily

b)

The logic defined in the referenced notebook will be executed three times on new clusters with the configurations of the provided cluster ID.

c)

Three new jobs named "Ingest new data" will be defined in the workspace, but no jobs will be executed.

d)

One new job named "Ingest new data" will be defined in the workspace, but it will not be executed.

e)

The logic defined in the referenced notebook will be executed three times on the referenced existing all purpose cluster

13.

An upstream system is emitting change data capture (CDC) logs that are being written to a cloud object storage directory. Each record in the log indicates the change type (insert, update, or delete) and the values for each field after the change. The source table has a primary key identified by the field pk_id. For auditing purposes, the data governance team wishes to maintain a full record of all values that have ever been valid in the source system. For analytical purposes, only the most recent value for each record needs to be recorded. The Databricks job to ingest these records occurs once per hour, but each individual record may have changed multiple times over the course of an hour. Which solution meets these requirements?

a)

Create a separate history table for each pk_id resolve the current state of the table by running a union all filtering the history tables for the most recent state

b)

Use MERGE INTO to insert, update, or delete the most recent entry for each pk_id into a bronze table, then propagate all changes throughout the system

c)

Iterate through an ordered set of changes to the table, applying each in turn; rely on Delta Lake's versioning ability to create an audit log.

d)

Use Delta Lake's change data feed to automatically process CDC data from an external system, propagating all changes to all dependent tables in the Lakehouse.

e)

Ingest all log information into a bronze table; use MERGE INTO to insert, update, or delete the most recent entry for each pk_id into a silver table to recreate the current table state.

14.

An hourly batch job is configured to ingest data files from a cloud object storage container where each batch represent all records produced by the source system in a given hour. The batch job to process these records into the Lakehouse is sufficiently delayed to ensure no late-arriving data is missed. The user_id field represents a unique key for the data, which has the following schema: user_id BIGINT, username STRING, user_utc STRING, user_region STRING, last_login BIGINT, auto_pay BOOLEAN, last_updated BIGINT New records are all ingested into a table named account_history which maintains a full record of all data in the same schema as the source. The next table in the system is named account_current and is implemented as a Type 1 table representing the most recent value for each unique user_id. Assuming there are millions of user accounts and tens of thousands of records processed hourly, which implementation can be used to efficiently update the described account_current table as part of each hourly batch job

a)

Use Auto Loader to subscribe to new files in the account_history directory; configure a Structured Streaming trigger once job to batch update newly detected files into the account_current table.

b)

Overwrite the account_current table with each batch using the results of a query against the account_history table grouping by user_id and filtering for the max value of last_updated.

c)

Filter records in account_history using the last_updated field and the most recent hour processed, as well as the max last_iogin by user_id write a merge statement to update or insert the most recent value for each user_id.

d)

Use Delta Lake version history to get the difference between the latest version of account_history and one version prior, then write these records to account_current

e)

Filter records in account_history using the last_updated field and the most recent hour processed, making sure to deduplicate on username; write a merge statement to update or insert the most recent value for each username.

15.

A table in the Lakehouse named customer_churn_params is used in churn prediction by the machine learning team. The table contains information about customers derived from a number of upstream sources. Currently, the data engineering team populates this table nightly by overwriting the table with the current valid values derived from upstream data sources. The churn prediction model used by the ML team is fairly stable in production. The team is only interested in making predictions on records that have changed in the past 24 hours. Which approach would simplify the identification of these changed records?

a)

Apply the churn model to all rows in the customer_churn_params table, but implement logic to perform an upsert into the predictions table that ignores rows where predictions have not changed.

b)

Convert the batch job to a Structured Streaming job using the complete output mode; configure a Structured Streaming job to read from the customer_churn_params table and incrementally predict against the churn model.

c)

Calculate the difference between the previous model predictions and the current customer_churn_params on a key identifying unique customers before making new predictions; only make predictions on those customers not in the previous predictions.

d)

Modify the overwrite logic to include a field populated by calling spark.sql.functions.current_timestamp() as data are being written; use this field to identify records written on a particular date.

e)

Replace the current overwrite logic with a merge statement to modify only those records that have changed; write logic to make predictions on the changed records identified by the change data feed.

16.

A table is registered with the following code:

Both users and orders are Delta Lake tables. Which statement describes the results of querying recent_orders

a)

All logic will execute at query time and return the result of joining the valid versions of the source tables at the time the query finishes

b)

All logic will execute when the table is defined and store the result of joining tables to the DBFS; this stored data will be returned when the table is queried

c)

Results will be computed and cached when the table is defined; these cached results will incrementally update as new records are inserted into source tables.

d)

All logic will execute at query time and return the result of joining the valid versions of the source tables at the time the query began.

e)

The versions of each source table will be stored in the table transaction log; query results will be saved to DBFS with each query.

17.

A production workload incrementally applies updates from an external Change Data Capture feed to a Delta Lake table as an always-on Structured Stream job. When data was initially migrated for this table, OPTIMIZE was executed and most data files were resized to 1 GB. Auto Optimize and Auto Compaction were both turned on for the streaming production job. Recent review of data files shows that most data files are under 64 MB, although each partition in the table contains at least 1 GB of data and the total table size is over 10 TB. Which of the following likely explains these smaller file sizes?

a)

Databricks has autotuned to a smaller target file size to reduce duration of MERGE operations

b)

Z-order indices calculated on the table are preventing file compaction

c)

Bloom filter indices calculated on the table are preventing file compaction

d)

Databricks has autotuned to a smaller target file size based on the overall size of data in the table

e)

Databricks has autotuned to a smaller target file size based on the amount of data in each partition

18.

Which statement regarding stream-static joins and static Delta tables is correct?

a)

Each microbatch of a stream-static join will use the most recent version of the static Delta table as of each microbatch.

b)

Each microbatch of a stream-static join will use the most recent version of the static.
Delta table as of the job's initialization

c)

The checkpoint directory will be used to track state information for the unique keys present in the join.

d)

Stream-static joins cannot use static Delta tables because of consistency issues

e)

The checkpoint directory will be used to track updates to the static Delta table.

19.

A junior data engineer has been asked to develop a streaming data pipeline with a grouped aggregation using DataFrame df. The pipeline needs to calculate the average humidity and average temperature for each non-overlapping five-minute interval. Events are recorded once per minute per device. Streaming DataFrame df has the following schema: "device_id INT, event_time TIMESTAMP, temp FLOAT, humidity FLOAT" Code block:
Choose the response that correctly fills in the blank within the code block to complete this task.

a)

to_interval("event_time", "5 minutes").alias("time")

b)

window("event_time", "5 minutes").alias("time")

c)

"event_time"

d)

window("event_time", "10 minutes").alias("time")

e)

lag("event_time", "10 minutes").alias("time")

20.

A data architect has designed a system in which two Structured Streaming jobs will concurrently write to a single bronze Delta table. Each job is subscribing to a different topic from an Apache Kafka source, but they will write data with the same schema. To keep the directory structure simple, a data engineer has decided to nest a checkpoint directory to be shared by both streams. The proposed directory structure is displayed below:

Which statement describes whether this checkpoint directory structure is valid for the given scenario and why?

a)

No; Delta Lake manages streaming checkpoints in the transaction log.

b)

Yes; both of the streams can share a single checkpoint directory.

c)

No; only one stream can write to a Delta Lake table.

d)

Yes; Delta Lake supports infinite concurrent writers

e)

No; each of the streams needs to have its own checkpoint directory.

21.

A Structured Streaming job deployed to production has been experiencing delays during peak hours of the day. At present, during normal execution, each microbatch of data is processed in less than 3 seconds. During peak hours of the day, execution time for each microbatch becomes very inconsistent, sometimes exceeding 30 seconds. The streaming write is currently configured with a trigger interval of 10 seconds. Holding all other variables constant and assuming records need to be processed in less than 10 seconds, which adjustment will meet the requirement?

a)

Decrease the trigger interval to 5 seconds; triggering batches more frequently allows idle executors to begin processing the next batch while longer running tasks from previous batches finish.

b)

Increase the trigger interval to 30 seconds; setting the trigger interval near the maximum execution time observed for each batch is always best practice to ensure no records are dropped.

c)

The trigger interval cannot be modified without modifying the checkpoint directory; to maintain the current stream state, increase the number of shuffle partitions to maximize parallelism.

d)

Use the trigger once option and configure a Databricks job to execute the query every 10 seconds; this ensures all backlogged records are processed with each batch.

e)

Decrease the trigger interval to 5 seconds; triggering batches more frequently may prevent records from backing up and large batches from causing spill.

22.

Which statement describes Delta Lake Auto Compaction?

a)

. An asynchronous job runs after the write completes to detect if files could be further compacted; if yes, an OPTIMIZE job is executed toward a default of 128 MB

b)

An asynchronous job runs after the write completes to detect if files could be further compacted; if yes, an OPTIMIZE job is executed toward a default of 1 GB. B. Before a Jobs cluster terminates, OPTIMIZE is executed on all tables modified during the most recent job.

c)

Optimized writes use logical partitions instead of directory partitions; because partition boundaries are only represented in metadata, fewer small files are written.

d)

Data is queued in a messaging bus instead of committing data directly to memory; all data is committed from the messaging bus in one batch once the job is complete.

e)

Before a Jobs cluster terminates, OPTIMIZE is executed on all tables modified during the most recent job.

23.

Which statement characterizes the general programming model used by Spark Structured Streaming?

a)

Structured Streaming leverages the parallel processing of GPUs to achieve highly parallel data throughput.

b)

Structured Streaming is implemented as a messaging bus and is derived from Apache Kafka.

c)

Structured Streaming uses specialized hardware and I/O streams to achieve sub second latency for data transfer.

d)

Structured Streaming models new data arriving in a data stream as new rows appended to an unbounded table.

e)

Structured Streaming relies on a distributed network of nodes that hold incremental state values for cached stages.

24.

Which configuration parameter directly affects the size of a spark-partition upon ingestion of data into Spark?

a)

spark.sql.files.maxPartitionBytes

b)

spark.sql.autoBroadcastJoinThreshold

c)

spark.sql.files.openCostInBytes

d)

spark.sql.adaptive.coalescePartitions.minPartitionNum

e)

spark.sql.adaptive.advisoryPartitionSizeInByte

25.

A Spark job is taking longer than expected. Using the Spark UI, a data engineer notes that the Min, Median, and Max Durations for tasks in a particular stage show the minimum and median time to complete a task as roughly the same, but the max duration for a task to be roughly 100 times as long as the minimum. Which situation is causing increased duration of the overall job?

a)

Task queueing resulting from improper thread pool assignment.

b)

Spill resulting from attached volume storage being too small.

c)

Network latency due to some cluster nodes being in different regions from the source data

d)

Skew caused by more data being assigned to a subset of spark-partitions.

e)

Credential validation errors while pulling data from an external system.

26.

Each configuration below is identical to the extent that each cluster has 400 GB total of RAM, 160 total cores and only one Executor per VM. Given a job with at least one wide transformation, which of the following cluster configurations will result in maximum performance?

a)

• Total VMs; 1

• 400 GB per Executor

• 160 Cores / Executor

b)

• Total VMs: 8

• 50 GB per Executor

• 20 Cores / Executor

c)

• Total VMs: 16

• 25 GB per Executor

• 10 Cores/Executor

d)

• Total VMs: 4

• 100 GB per Executor

• 40 Cores/Executor

e)

• Total VMs:2

• 200 GB per Executor

• 80 Cores / Executor

27.

A junior data engineer on your team has implemented the following code block:
The view new_events contains a batch of records with the same schema as the events Delta table. The event_id field serves as a unique key for this table. When this query is executed, what will happen with new records that have the same event_id as an existing record?

a)

They are merged.

b)

They are ignored.

c)

They are updated.

d)

They are inserted.

e)

They are deleted.

28.

A junior data engineer seeks to leverage Delta Lake's Change Data Feed functionality to create a Type 1 table representing all of the values that have ever been valid for all rows in a bronze table created with the property delta.enableChangeDataFeed = true. They plan to execute the following code as a daily job
Which statement describes the execution and results of running the above query multiple times?

a)

Each time the job is executed, newly updated records will be merged into the target table, overwriting previous values with the same primary keys

b)

Each time the job is executed, the entire available history of inserted or updated records will be appended to the target table, resulting in many duplicate entries.

c)

Each time the job is executed, the target table will be overwritten using the entire history of inserted or updated records, giving the desired result.

d)

Each time the job is executed, the differences between the original and current versions are calculated; this may result in duplicate entries for some records

e)

Each time the job is executed, only those records that have been inserted or updated since the last execution will be appended to the target table, giving the desired result.

29.

A new data engineer notices that a critical field was omitted from an application that writes its Kafka source to Delta Lake. This happened even though the critical field was in the Kafka source. That field was further missing from data written to dependent, long term storage. The retention threshold on the Kafka service is seven days. The pipeline has been in production for three months. Which describes how Delta Lake can help to avoid data loss of this nature in the future?

a)

The Delta log and Structured Streaming checkpoints record the full history of the Kafka producer.

b)

Delta Lake schema evolution can retroactively calculate the correct value for newly added fields, as long as the data was in the original source

c)

Delta Lake automatically checks that all fields present in the source data are included in the ingestion layer

d)

Data can never be permanently dropped or deleted from Delta Lake, so data loss is not possible under any circumstance

e)

Ingesting all raw data and metadata from Kafka to a bronze Delta table creates a permanent, replayable history of the data state

30.

A nightly job ingests data into a Delta Lake table using the following code:
The next step in the pipeline requires a function that returns an object that can be used to manipulate new records that have not yet been processed to the next table in the pipeline. Which code snippet completes this function definition? def new_records():

a)

return spark.readStream.table("bronze")

b)

return spark.readStream.load("bronze")

c)

return (spark.read .table("bronze") .filter(col("ingest_time") == current_timestamp()) )

d)

return spark.read.option("readChangeFeed", "true").table ("bronze"

e)

return (spark.read .table("bronze") .filter(col("source_file") == f"/mnt/daily_batch/{year}/{month}/{day}/") )