ADP Practice Exam: Associate Data Practitioner
Entry-level GCP data: BigQuery basics, pipelines, and dashboards that tell the truth.
What you'll be tested on
- Data Preparation
- Data Analysis
- Data Pipelines
- Data Governance
Sample ADP questions
Your retail company wants to predict customer churn using historical purchase data stored in BigQuery. The dataset includes customer demographics, purchase history, and a label indicating whether the customer churned or not. You want to build a machine learning model to identify customers at risk of churning. You need to create and train a logistic regression model for predicting customer churn, using the customer_data table with the churned column as the target label. Which BigQuery ML query should you use?
- CREATE OR REPLACE MODEL churn_prediction_model OPTIONS(model_type='logistic_reg') AS SELECT * FROM customer_data;
- CREATE OR REPLACE MODEL churn_prediction_model OPTIONS(model_type='logistic_reg') AS SELECT * EXCEPT(churned), churned AS label FROM customer_data;
- CREATE OR REPLACE MODEL churn_prediction_model OPTIONS(model_type='logistic_reg') AS SELECT * EXCEPT(churned) FROM customer_data;
- CREATE OR REPLACE MODEL churn_prediction_model OPTIONS(model_type='logistic_reg') AS SELECT churned as label FROM customer_data;
Show answer
B — CREATE OR REPLACE MODEL churn_prediction_model OPTIONS(model_type='logistic_reg') AS SELECT * EXCEPT(churned), churned AS label FROM customer_data;In BigQuery ML you create and train a logistic regression classifier with a single CREATE MODEL statement that specifies MODEL_TYPE = 'LOGISTIC_REG' in the OPTIONS clause, selects the feature columns from the customer_data table, and uses the churned column as the label (INPUT_LABEL_COLS). The correct query trains directly on data in BigQuery with no exports or separate ML infrastructure. Distractors typically misuse model types such as LINEAR_REG (predicts continuous values, not churn classes), omit the model type, reference the wrong target column, or use ML.PREDICT/ML.TRAINING_INFO syntax instead of CREATE MODEL, which cannot create or train the model.
Your company has several retail locations. Your company tracks the total number of sales made at each location each day. You want to use SQL to calculate the weekly moving average of sales by location to identify trends for each store. Which query should you use?
- SELECT store_id, date, total_sales, AVG(total_sales) OVER ( PARTITION BY store_id ORDER BY total_sales RANGE BETWEEN 6 PRECEDING AND CURRENT ROW ) as rolling_avg FROM store_sales_daily
- SELECT store_id, date, total_sales, AVG(total_sales) OVER ( PARTITION BY date ORDER BY store_id ROWS BETWEEN 6 PRECEDING AND CURRENT ROW ) as rolling_avg FROM store_sales_daily
- SELECT store_id, date, total_sales, AVG(total_sales) OVER ( PARTITION BY store_id ORDER BY date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW ) as rolling_avg FROM store_sales_daily
- SELECT store_id, date, total_sales, AVG(total_sales) OVER ( PARTITION BY total_sales ORDER BY date RANGE BETWEEN 6 PRECEDING AND CURRENT ROW ) as rolling_avg FROM store_sales_daily
Show answer
C — SELECT store_id, date, total_sales, AVG(total_sales) OVER ( PARTITION BY store_id ORDER BY date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW ) as rolling_avg FROM store_sales_dailyA weekly moving average per store requires a window function: AVG(daily_sales) OVER (PARTITION BY location ORDER BY date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW). Partitioning by location keeps each store's trend separate, ordering by date makes the window chronological, and a 7-row frame computes the weekly rolling average. Wrong choices typically omit PARTITION BY so all stores are blended together, use a plain GROUP BY weekly aggregate which yields one row per week rather than a moving average, or use an incorrect window frame such as UNBOUNDED PRECEDING, which produces a cumulative average instead of a rolling one.
Your company is building a near real-time streaming pipeline to process JSON telemetry data from small appliances. You need to process messages arriving at a Pub/Sub topic, capitalize letters in the serial number field, and write results to BigQuery. You want to use a managed service and write a minimal amount of code for underlying transformations. What should you do?
- Use a Pub/Sub to BigQuery subscription, write results directly to BigQuery, and schedule a transformation query to run every five minutes.
- Use a Pub/Sub to Cloud Storage subscription, write a Cloud Run service that is triggered when objects arrive in the bucket, performs the transformations, and writes the results to BigQuery.
- Use the “Pub/Sub to BigQuery” Dataflow template with a UDF, and write the results to BigQuery.
- Use a Pub/Sub push subscription, write a Cloud Run service that accepts the messages, performs the transformations, and writes the results to BigQuery.
Show answer
C — Use the “Pub/Sub to BigQuery” Dataflow template with a UDF, and write the results to BigQuery.The Pub/Sub to BigQuery Dataflow template is a fully managed, Google-provided streaming pipeline that reads messages from a Pub/Sub subscription and writes them to BigQuery. It supports a JavaScript user-defined function (UDF), so you can capitalize the serial number field with minimal code while Dataflow handles scaling, exactly-once semantics, and delivery. The Pub/Sub to BigQuery subscription writes raw messages without transformation, requiring scheduled queries and adding latency. Cloud Storage subscriptions plus Cloud Run add unnecessary hops and custom code, and a push subscription to Cloud Run requires you to manage transformation and load logic yourself.
Access plans
| Access | Price |
|---|---|
| 3 months | |
| 1 year | |
| Lifetime |
Free preview inside — try 5 questions before you pay anything.
FAQ
How many practice questions are in this ADP bank?
103 questions covering the current ADP Associate Data Practitioner syllabus, every one with the correct answer and an explanation.How long is the real ADP exam?
The official ADP exam gives you 90 minutes. Our timed exam mode uses the same limit so the pace feels familiar.What does ADP access cost?
Plans start at $3.99 for 3 months. One payment, no subscription — and far cheaper than retaking the real exam.