CertGrid
Data Certification

Databricks Certified Machine Learning Associate Practice Exam

Databricks Certified Machine Learning Associate - performing end-to-end machine learning on the Databricks platform in Python: Databricks Machine Learning (ML Runtime, clusters, AutoML, MLflow tracking and autologging, Feature Engineering in Unity Catalog, Models in Unity Catalog / Model Registry), ML workflows (EDA, data cleaning, feature engineering, train/test split), model development (scikit-learn and Spark ML training, evaluation, cross-validation, Hyperopt tuning, ensembles, distributed training), and model deployment (batch, streaming, and real-time inference with Model Serving, plus the production model lifecycle).

Start with a free Databricks Certified Machine Learning Associate practice test, then work through 534 exam-style questions with full answer explanations, and take timed mock exams to track your readiness against the exam objectives.

Free account: a fixed set of 20 practice questions for this exam, retryable anytime. Paid access unlocks the full bank and timed mock exams. No credit card required to start.

534
Practice pool
48 qs
Real exam
90 min
Real exam time
Intermediate
Level

CertGrid runs a fixed 48-question timed mock, separate from the real exam format above.

Objective-mapped practice, aligned to current exam objectives · Reviewed Oct 2026 · Independent practice platform.

What the Databricks Certified Machine Learning Associate exam covers

Free Databricks Certified Machine Learning Associate practice test questions

A sample of 10 questions with answers and explanations. A free account includes a fixed set of 20 practice questions for this exam, retryable anytime. Paid access unlocks the full 534-question bank.

  1. Question 1Databricks Machine Learning

    What happens if `mlflow.start_run()` is called a second time, without `nested=True`, while a run is already active in the same process?

    • AMLflow raises an exception because only one run can be active at a timeCorrect
    • BMLflow merges both runs' data into a single run
    • CMLflow silently ends the first run and starts a fresh one
    • DMLflow automatically treats the second call as nested
    ✓ Correct answer: A

    MLflow enforces a single active run per thread unless nested=True is passed; calling start_run again without it raises an Exception telling you to end the current run first or pass nested=True.

    Why the other options are wrong
    • BMLflow never silently merges two separate runs' logged data.
    • CMLflow does not silently end an active run; it raises an error instead.
    • Dnested behavior only applies when nested=True is explicitly passed.
  2. Question 2Databricks Machine Learning

    A team wants to load the model version that a Unity Catalog registered model's Champion alias currently points to. Which model URI does that?

    • Amodels:/ml.models.churn@ChampionCorrect
    • Bmodels:/ml.models.churn/Champion
    • Cmodels:/ml.models.churn/Production
    • Druns:/ml.models.churn/Champion
    ✓ Correct answer: A

    Unity Catalog model URIs use the form models:/name@alias to resolve to whichever version the named alias currently points to, distinct from the models:/name/version form used for a fixed version number.

    Why the other options are wrong
    • BA slash before an alias name is the syntax used for a version number, not an alias reference.
    • CProduction is a legacy workspace-registry stage name, not a valid Unity Catalog alias reference syntax here.
    • Druns:/ URIs point at a specific training run's artifact, not a registered model's alias.
  3. Question 3Model DevelopmentSelect all that apply

    (Choose TWO) Which scenarios call for a classification estimator rather than a regression estimator?

    • APredicting whether a credit card transaction is fraudulent (Yes/No).Correct
    • BPredicting which of several support-ticket categories a new ticket belongs to.Correct
    • CPredicting the total dollar amount of a customer's next order.
    • DPredicting the number of days until a machine part fails.
    • EPredicting a house's sale price in dollars.
    ✓ Correct answer: A, B

    Both scenarios have a fixed set of discrete outcomes (fraud/not-fraud, or a specific ticket category), which is exactly what classification estimators such as LogisticRegression or RandomForestClassifier are designed to predict.

    Why the other options are wrong
    • CTotal dollar amount is a continuous numeric target, calling for a regression estimator.
    • DDays until failure is a continuous count, calling for a regression estimator.
    • ESale price in dollars is a continuous numeric target, calling for a regression estimator.
  4. Question 4Databricks Machine Learning

    A local folder named reports holds several evaluation files. The data scientist wants those files to appear directly under the run artifact path eval, as eval/<file>, with no reports folder in between. Which call does this?

    • Amlflow.log_artifact('reports', artifact_path='eval')
    • Bmlflow.log_artifacts('eval', artifact_path='reports')
    • Cmlflow.log_artifacts('reports', artifact_path='eval')Correct
    • Dmlflow.log_artifacts('reports')
    ✓ Correct answer: C

    The MLflow reference describes log_artifacts as "Log all the contents of a local directory as artifacts of the run", placed under artifact_path. log_artifact also accepts a directory, but the MLflow tracking client joins the directory's base name to the path (os.path.join(artifact_path, dir_name)), so the files would land under eval/reports. Without artifact_path, log_artifacts writes the files at the artifact root.

    Why the other options are wrong
    • Alog_artifact on a directory keeps the folder name, so the files land under eval/reports instead of directly under eval.
    • BThe arguments are reversed: local_dir must be the local folder reports, and artifact_path the destination eval.
    • DWithout artifact_path the files are written at the root of the run's artifacts, not under eval.
  5. Question 5Databricks Machine Learning

    Which description matches single node compute in Databricks?

    • AA driver with no workers; Spark runs locally on the driverCorrect
    • BOne driver and one worker, the smallest multi-node layout
    • CA driver with no workers; Spark is disabled and only Python runs
    • DNo workers at start, with autoscaling adding them under load
    ✓ Correct answer: A

    The compute configuration docs list the single node properties: it runs Spark locally, and the driver acts as both master and worker, with no worker nodes. It is intended for small data or non-distributed workloads such as single-node ML libraries.

    Why the other options are wrong
    • BSingle node compute has no worker nodes at all; any layout with a worker is multi-node compute.
    • CSpark still runs on single node compute, locally on the driver; it is not limited to plain Python.
    • DSingle node compute does not autoscale into workers; workloads that need workers use multi-node compute.
  6. Question 6Databricks Machine Learning

    A team wants to record validated_by=risk-team on version 4 of ml.models.churn as key-value metadata, leaving its aliases unchanged. Which call does that?

    • Aclient.set_model_version_tag(name='ml.models.churn', version=4, key='validated_by', value='risk-team')Correct
    • Bclient.set_registered_model_tag(name='ml.models.churn', key='validated_by', value='risk-team')
    • Cclient.update_model_version(name='ml.models.churn', version=4, description='validated_by: risk-team')
    • Dmlflow.set_tag(key='validated_by', value='risk-team')
    ✓ Correct answer: A

    The Models in Unity Catalog docs describe tags as key-value pairs associated with registered models and model versions, and show set_model_version_tag for a version tag. Setting a tag requires ownership or APPLY TAG on the model, and it has no effect on which version an alias points to.

    Why the other options are wrong
    • Bset_registered_model_tag tags the registered model as a whole, not one version.
    • Cupdate_model_version changes the free-text description; it creates no key-value tag.
    • Dmlflow.set_tag sets a tag on the current MLflow run, not on a registered model version.
  7. Question 7Data ProcessingSelect all that apply

    In a large dataset, the column `promo_code_age` is missing in 96% of rows. Which TWO approaches are reasonable for this column? (Choose TWO)

    • AImpute with the column median and keep it as an ordinary feature
    • BDrop the column, since imputing would fabricate nearly all of its valuesCorrect
    • CImpute with KNNImputer so the 4% of observed values predict the rest
    • DAdd a binary missing-indicator feature, then drop the sparse original columnCorrect
    • EImpute with the column mean and add random noise to restore its variance
    ✓ Correct answer: B, D

    When almost every value is missing, any imputation method fills the column mostly with invented values, and models may treat them as real signal. Dropping the column, or replacing it with a binary indicator of whether a value was present (what scikit-learn MissingIndicator produces), keeps any signal in the missingness itself without fabricating values (scikit-learn imputation user guide).

    Why the other options are wrong
    • AFilling 96% of rows with one median value creates an almost constant feature made of invented data.
    • CKNNImputer would predict 96% of the column from a small observed fraction, so the feature would be mostly model-generated values.
    • EAdding noise restores spread, but the 96% of values are still invented, just less obviously so.
  8. Question 8Model Development

    A colleague will compare a `LinearRegression` baseline with a `RandomForestRegressor` by their test RMSE. What must be held the same for both models so the RMSE comparison is fair?

    • AThe hyperparameter values passed to each model's constructor
    • BThe training rows, with each model scored on its own test sample
    • CThe evaluator, with each model scored on the rows it was fit on
    • DThe training and test rows used to fit and to score each modelCorrect
    ✓ Correct answer: D

    If the two models see different training or test rows, part of the RMSE difference comes from the data rather than the algorithm. Using one randomSplit result for both models, and one RegressionEvaluator on the same test DataFrame, isolates the effect of the algorithm. scikit-learn's pitfalls guide adds that "Test data should never be used to make choices about the model", so the test rows stay held out from fitting.

    Why the other options are wrong
    • AThe two algorithms have different hyperparameters (regParam versus numTrees and maxDepth), so they cannot share values; holding the data fixed is what makes the scores comparable.
    • BScoring on different test samples lets the luck of each sample, not the algorithm, drive part of the RMSE gap.
    • CScoring on the training rows rewards whichever model memorises them best, which says little about performance on new data.
  9. Question 9Model Development

    After `fmin` finishes with `trials=Trials()`, a data scientist needs the full dictionary that each objective call returned, including custom keys such as 'eval_time'. Which member provides this?

    • A`trials.best_trial`
    • B`trials.losses()`
    • C`trials.argmin`
    • D`trials.results`Correct
    ✓ Correct answer: D

    The Hyperopt guide lists "trials.results - a list of dictionaries returned by 'objective' during the search", so any extra keys the objective returned are kept there for every trial. trials.losses() keeps only the loss values, trials.best_trial is the single trial with the lowest loss, and trials.argmin holds the best parameter values. fmin itself returns only the best parameters, which is why the Trials object is passed in.

    Why the other options are wrong
    • Abest_trial is the one trial with the lowest non-NaN loss and status ok, not every trial's dictionary.
    • Blosses() returns a list of loss values only, without the status or custom keys.
    • Cargmin holds the parameter values of the best trial, not the dictionaries the objective returned.
  10. Question 10Model Deployment

    A team scores a 10-million-row table by sending one REST request per row to a Model Serving endpoint, and the job is far slower than a distributed batch job. What best explains this?

    • AEndpoints accept one row per request, so the rows cannot be grouped into fewer calls
    • BScale to zero stops the endpoint between calls, so every request pays a cold start
    • CEvery call pays network and serialization overhead, though one request can carry many rowsCorrect
    • DThe traffic split sends each row to every served model, so each row is scored twice
    ✓ Correct answer: C

    A scoring request carries a JSON body such as dataframe_split that can hold many rows, up to the documented payload size of 16 MB per request. Sending each row separately pays connection, serialization and response overhead ten million times. For bulk scoring, Databricks points to batch inference with ai_query or a Spark UDF over the table instead of row-at-a-time REST calls.

    Why the other options are wrong
    • ARequests can hold many rows (the scoring examples send several rows in one dataframe_split body, up to 16 MB per request).
    • BScale to zero applies when an endpoint is idle; a steady stream of requests keeps it running.
    • DA traffic split routes each request to one served model by percentage; rows are not scored by every model.

Who this Databricks Certified Machine Learning Associate practice exam is for

This practice set is for anyone preparing for the Databricks Certified Machine Learning Associate exam at the intermediate level - from first-time candidates building a foundation to experienced Data practitioners doing a final review before test day. If you learn best by working through realistic questions and reading why each answer is right or wrong, it is built for you.

How to use this Databricks Certified Machine Learning Associate practice exam

  1. Start with the free sample questions above to gauge your current baseline.
  2. Read the full explanation on every question, including why each wrong option is wrong.
  3. Track your weak domains and focus your study where you are losing the most marks.
  4. Once you are scoring consistently well, take a timed, full-length mock exam.
  5. Use your readiness score to decide when you are ready to book the real Databricks Certified Machine Learning Associate exam.

Related Data resources

Databricks Certified Machine Learning Associate practice exam FAQ

How many questions are in the Databricks Certified Machine Learning Associate practice exam on CertGrid?

CertGrid has 534 practice questions for Databricks Certified Machine Learning Associate, covering 4 exam domains. The real Databricks Certified Machine Learning Associate exam is 48 qs in 90 min. CertGrid's timed mock is a fixed 48 questions.

What is the passing score for Databricks Certified Machine Learning Associate?

Databricks does not publish a passing score - its certification FAQ says scores are set through statistical analysis and change as exams are updated - so CertGrid scores this mock against its own readiness threshold. You have about 90 min to complete it. CertGrid tracks your readiness against the exam objectives so you know where to focus.

Are these official Databricks Certified Machine Learning Associate exam questions?

No. CertGrid is an independent practice platform. We do not provide real or leaked exam questions. Our questions are original and designed to help you practice the concepts, scenarios, and difficulty style of the Databricks Certified Machine Learning Associate exam.

Is there a free Databricks Certified Machine Learning Associate practice test?

Yes. You can take a free Databricks Certified Machine Learning Associate practice test straight away: a fixed set of 20 practice questions for this exam, retryable as often as you like, with no credit card required. You get readiness scoring and a weak-domain breakdown on those questions. Paid plans unlock the full 534-question bank, timed mock exams and full-bank domain analytics.

What CertGrid is (and is not)

CertGrid is an independent IT certification practice platform for Azure, AWS, Google, Cisco, Security, Linux, Kubernetes, Terraform, and other certification tracks. It provides objective-mapped practice questions, readiness scoring, weak-domain drills, and explanations to help learners understand what to study next.

Independent & original. CertGrid is an independent practice platform and is not affiliated with or endorsed by Databricks. Questions are original practice items designed to mirror certification concepts and exam style. CertGrid does not provide official exam questions or braindumps.