Google Associate Data Practitioner Practice Exams
Last updated on Oct 22,2026- Exam Code: Associate Data Practitioner
- Exam Name: Google Cloud Associate Data Practitioner ( ADP Exam )
- Certification Provider: Google
- Latest update: Oct 22,2026
You are a database administrator managing sales transaction data by region stored in a BigQuery table. You need to ensure that each sales representative can only see the transactions in their region.
What should you do?
- A . Add a policy tag in BigQuery.
- B . Create a row-level access policy.
- C . Create a data masking rule.
- D . Grant the appropriate 1AM permissions on the dataset.
B
Explanation:
Creating a row-level access policy in BigQuery ensures that each sales representative can see only the transactions relevant to their region. Row-level access policies allow you to define fine-grained access control by filtering rows based on specific conditions, such as matching the sales representative’s region. This approach enforces security while providing tailored data access, aligning with the principle of least privilege.
Extract from Google Documentation: From "Row-Level Security in BigQuery"
(https://cloud.google.com/bigquery/docs/row-level-security): "Row-level access policies let you restrict access to specific rows in a table based on a filter condition, such as a user’s region, providing fine-grained control over data visibility without creating separate tables or views."
Reference: Google Cloud Documentation – "BigQuery Row-Level Security"
(https://cloud.google.com/bigquery/docs/row-level-security).
Your team is building several data pipelines that contain a collection of complex tasks and dependencies that you want to execute on a schedule, in a specific order. The tasks and dependencies consist of files in Cloud Storage, Apache Spark jobs, and data in BigQuery. You need to design a system that can schedule and automate these data processing tasks using a fully managed approach.
What should you do?
- A . Use Cloud Scheduler to schedule the jobs to run.
- B . Use Cloud Tasks to schedule and run the jobs asynchronously.
- C . Create directed acyclic graphs (DAGs) in Cloud Composer. Use the appropriate operators to connect to Cloud Storage, Spark, and BigQuery.
- D . Create directed acyclic graphs (DAGs) in Apache Airflow deployed on Google Kubernetes Engine.
Use the appropriate operators to connect to Cloud Storage, Spark, and BigQuery.
C
Explanation:
Using Cloud Composer to create Directed Acyclic Graphs (DAGs) is the best solution because it is a fully managed, scalable workflow orchestration service based on Apache Airflow. Cloud Composer allows you to define complex task dependencies and schedules while integrating seamlessly with Google Cloud services such as Cloud Storage, BigQuery, and Dataproc for Apache Spark jobs. This approach minimizes operational overhead, supports scheduling and automation, and provides an efficient and fully managed way to orchestrate your data pipelines.
Extract from Google Documentation: From "Cloud Composer Overview"
(https://cloud.google.com/composer/docs): "Cloud Composer is a fully managed workflow orchestration service built on Apache Airflow, enabling you to schedule and automate complex data pipelines with dependencies across Google Cloud services like Cloud Storage, Dataproc, and BigQuery."
Reference: Google Cloud Documentation – "Cloud Composer" (https://cloud.google.com/composer).
You are working on a project that requires analyzing daily social media data. You have 100 GB of JSON formatted data stored in Cloud Storage that keeps growing.
You need to transform and load this data into BigQuery for analysis. You want to follow the Google-recommended approach.
What should you do?
- A . Manually download the data from Cloud Storage. Use a Python script to transform and upload the data into BigQuery.
- B . Use Cloud Run functions to transform and load the data into BigQuery.
- C . Use Dataflow to transform the data and write the transformed data to BigQuery.
- D . Use Cloud Data Fusion to transfer the data into BigQuery raw tables, and use SQL to transform it.
C
Explanation:
Comprehensive and Detailed in Depth
Why C is correct:Dataflow is a fully managed service for transforming and enriching data in both batch and streaming modes.
Dataflow is googles recomended way to transform large datasets.
It is designed for parallel processing, making it suitable for large datasets.
Why other options are incorrect:A: Manual downloading and scripting is not scalable or efficient.
B: Cloud Run functions are for stateless applications, not large data transformations.
D: While Cloud Data fusion could work, Dataflow is more optimized for large scale data transformation.
Reference: Dataflow: https://cloud.google.com/dataflow/docs
Query successful
You are developing a data ingestion pipeline to load small CSV files into BigQuery from Cloud Storage. You want to load these files upon arrival to minimize data latency. You want to accomplish this with minimal cost and maintenance.
What should you do?
- A . Use the bq command-line tool within a Cloud Shell instance to load the data into BigQuery.
- B . Create a Cloud Composer pipeline to load new files from Cloud Storage to BigQuery and schedule it to run every 10 minutes.
- C . Create a Cloud Run function to load the data into BigQuery that is triggered when data arrives in Cloud Storage.
- D . Create a Dataproc cluster to pull CSV files from Cloud Storage, process them using Spark, and write the results to BigQuery.
C
Explanation:
Using a Cloud Run function triggered by Cloud Storage to load the data into BigQuery is the best solution because it minimizes both cost and maintenance while providing low-latency data ingestion. Cloud Run is a serverless platform that automatically scales based on the workload, ensuring efficient use of resources without requiring a dedicated instance or cluster. It integrates seamlessly with Cloud Storage event notifications, enabling real-time processing of incoming files and loading them into BigQuery. This approach is cost-effective, scalable, and easy to manage.
The goal is to load small CSV files into BigQuery upon arrival (event-driven) with minimal latency, cost, and maintenance. Google Cloud provides serverless, event-driven options that align with this requirement. Let’s evaluate each option in detail:
Option A: Cloud Composer (managed Apache Airflow) can schedule a pipeline to check Cloud Storage every 10 minutes, but this polling approach introduces latency (up to 10 minutes) and incurs
costs for running Composer even when no files arrive. Maintenance includes managing DAGs and the Composer environment, which adds overhead. This is better suited for scheduled batch jobs, not event-driven ingestion.
Option B: A Cloud Run function triggered by a Cloud Storage event (via Eventarc or Pub/Sub) loads files into BigQuery as soon as they arrive, minimizing latency. Cloud Run is serverless, scales to zero when idle (low cost), and requires minimal maintenance (deploy and forget). Using the BigQuery API in the function (e.g., Python client library) handles small CSV loads efficiently. This aligns with Google’s serverless, event-driven best practices.
Option C: Dataproc with Spark is designed for large-scale, distributed processing, not small CSV ingestion. It requires cluster management, incurs higher costs (even with ephemeral clusters), and adds unnecessary complexity for a simple load task.
Option D: The bq command-line tool in Cloud Shell is manual and not automated, failing the “upon arrival” requirement. It’s a one-off tool, not a pipeline solution, and Cloud Shell isn’t designed for persistent automation.
Why B is Best: Cloud Run leverages Cloud Storage’s object creation events, ensuring near-zero latency between file arrival and BigQuery ingestion. It’s serverless, meaning no infrastructure to manage, and costs scale with usage (free when idle). For small CSVs, the BigQuery load job is lightweight, avoiding processing overhead.
Extract from Google Documentation: From "Triggering Cloud Run with Cloud Storage Events" (https://cloud.google.com/run/docs/triggering/using-events): "You can trigger Cloud Run services in response to Cloud Storage events, such as object creation, using Eventarc. This serverless approach minimizes latency and maintenance, making it ideal for real-time data pipelines." Additionally, from "Loading Data into BigQuery" (https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv): "Programmatically load CSV files from Cloud Storage using the BigQuery API, enabling automated ingestion with minimal overhead."
Reference: Google Cloud Documentation – "Cloud Run Events" (https://cloud.google.com/run/docs), "BigQuery Load Jobs" (https://cloud.google.com/bigquery/docs/loading-data).
You need to design a data pipeline to process large volumes of raw server log data stored in Cloud Storage. The data needs to be cleaned, transformed, and aggregated before being loaded into BigQuery for analysis. The transformation involves complex data manipulation using Spark scripts that your team developed. You need to implement a solution that leverages your team’s existing skillset, processes data at scale, and minimizes cost.
What should you do?
- A . Use Dataflow with a custom template for the transformation logic.
- B . Use Cloud Data Fusion to visually design and manage the pipeline.
- C . Use Dataform to define the transformations in SQLX.
- D . Use Dataproc to run the transformations on a cluster.
D
Explanation:
Comprehensive and Detailed In-Depth
The pipeline must handle large-scale log processing with existing Spark scripts, prioritizing skillset reuse, scalability, and cost. Let’s break it down:
Option A: Dataflow uses Apache Beam, not Spark, requiring script rewrites (losing skillset leverage).
Custom templates scale well but increase development cost and effort.
Option B: Cloud Data Fusion is a visual ETL tool, not Spark-based. It doesn’t reuse existing scripts, requiring redesign, and is less cost-efficient for complex, code-driven transformations.
Option C: Dataform uses SQLX for BigQuery ELT, not Spark. It’s unsuitable for pre-load transformations of raw logs and doesn’t leverage Spark skills.
Option D: Dataproc runs Spark natively, allowing direct use of your team’s scripts. It scales for large datasets (ephemeral clusters minimize cost) and integrates with Cloud Storage and BigQuery seamlessly.
Why D is Best: Dataproc is Google’s managed Spark platform, ideal for large-scale, script-based processing. For example, a script cleaning logs (e.g., parsing, deduplicating) runs as-is on a cluster,
writing results to BigQuery via the Spark BigQuery Connector. Cost is minimized with preemptible VMs or auto-scaling clusters. It’s the most practical fit for your team’s expertise and requirements. Extract from Google Documentation: From "Dataproc Overview"
(https://cloud.google.com/dataproc/docs): "Dataproc is a managed Spark and Hadoop service that lets you run existing Spark scripts to process large-scale data from Cloud Storage, with cost-effective scaling and integration to BigQuery for analysis."
Reference: Google Cloud Documentation – "Dataproc" (https://cloud.google.com/dataproc).
You manage a large amount of data in Cloud Storage, including raw data, processed data, and backups. Your organization is subject to strict compliance regulations that mandate data immutability for specific data types. You want to use an efficient process to reduce storage costs while ensuring that your storage strategy meets retention requirements.
What should you do?
- A . Configure lifecycle management rules to transition objects to appropriate storage classes based on access patterns. Set up Object Versioning for all objects to meet immutability requirements.
- B . Move objects to different storage classes based on their age and access patterns. Use Cloud Key Management Service (Cloud KMS) to encrypt specific objects with customer-managed encryption keys (CMEK) to meet immutability requirements.
- C . Create a Cloud Run function to periodically check object metadata, and move objects to the appropriate storage class based on age and access patterns. Use object holds to enforce immutability for specific objects.
- D . Use object holds to enforce immutability for specific objects, and configure lifecycle management rules to transition objects to appropriate storage classes based on age and access patterns.
D
Explanation:
Using object holds and lifecycle management rules is the most efficient and compliant strategy for this scenario because:
Immutability: Object holds (temporary or event-based) ensure that objects cannot be deleted or overwritten, meeting strict compliance regulations for data immutability.
Cost efficiency: Lifecycle management rules automatically transition objects to more cost-effective storage classes based on their age and access patterns.
Compliance and automation: This approach ensures compliance with retention requirements while reducing manual effort, leveraging built-in Cloud Storage features.
You work for a retail company that collects customer data from various sources:
Online transactions: Stored in a MySQL database
Customer feedback: Stored as text files on a company server
Social media activity: Streamed in real-time from social media platforms
You need to design a data pipeline to extract and load the data into the appropriate Google Cloud storage system(s) for further analysis and ML model training.
What should you do?
- A . Copy the online transactions data into Cloud SQL for MySQL. Import the customer feedback into BigQuery. Stream the social media activity into Cloud Storage.
- B . Extract and load the online transactions data into BigQuery. Load the customer feedback data into Cloud Storage. Stream the social media activity by using Pub/Sub and Dataflow, and store the data in BigQuery.
- C . Extract and load the online transactions data, customer feedback data, and social media activity into Cloud Storage.
- D . Extract and load the online transactions data into Bigtable. Import the customer feedback data into Cloud Storage. Store the social media activity in Cloud SQL for MySQL.
B
Explanation:
Comprehensive and Detailed In-Depth
The pipeline must extract diverse data types and load them into systems optimized for analysis and ML.
Let’s assess:
Option A: Cloud SQL for transactions keeps data relational but isn’t ideal for analysis/ML (less scalable than BigQuery). BigQuery for feedback is fine but skips staging. Cloud Storage for streaming social media loses real-time context and requires extra steps for analysis.
Option B: BigQuery for transactions (via export from MySQL) supports analysis/ML with SQL. Cloud Storage stages feedback text files for preprocessing, then BigQuery ingestion. Pub/Sub and Dataflow stream social media into BigQuery, enabling real-time analysis―optimal for all sources.
Option C: Cloud Storage for all data is a staging step, not a final solution for analysis/ML, requiring additional pipelines.
Option D: Bigtable for transactions is for NoSQL workloads, not analytics. Cloud Storage for feedback is staging-only. Cloud SQL for streaming social media is impractical (not real-time optimized).
Why B is Best: BigQuery is Google’s analytics/ML hub (e.g., BigQuery ML). Staging feedback in Cloud Storage allows preprocessing, and streaming via Pub/Sub/Dataflow ensures real-time data in BigQuery. For example, MySQL data exports to BigQuery via bq load, feedback uploads to GCS, and Dataflow processes social media into BigQuery tables.
Extract from Google Documentation: From "Data Analytics on Google Cloud"
(https://cloud.google.com/architecture/data-analytics): "Load structured data (e.g., MySQL) and unstructured data (e.g., text) into BigQuery for analysis and ML, using Cloud Storage for staging and Pub/Sub with Dataflow for streaming real-time data like social media activity."
Reference: Google Cloud Documentation – "BigQuery Data Ingestion"
(https://cloud.google.com/bigquery/docs/loading-data).
Another team in your organization is requesting access to a BigQuery dataset. You need to share the dataset with the team while minimizing the risk of unauthorized copying of data. You also want to create a reusable framework in case you need to share this data with other teams in the future.
What should you do?
- A . Create authorized views in the team’s Google Cloud project that is only accessible by the team.
- B . Create a private exchange using Analytics Hub with data egress restriction, and grant access to the team members.
- C . Enable domain restricted sharing on the project. Grant the team members the BigQuery Data Viewer IAM role on the dataset.
- D . Export the dataset to a Cloud Storage bucket in the team’s Google Cloud project that is only accessible by the team.
B
Explanation:
Using Analytics Hub to create a private exchange with data egress restrictions ensures controlled sharing of the dataset while minimizing the risk of unauthorized copying. This approach allows you to provide secure, managed access to the dataset without giving direct access to the raw data. The egress restriction ensures that data cannot be exported or copied outside the designated boundaries. Additionally, this solution provides a reusable framework that simplifies future data sharing with other teams or projects while maintaining strict data governance.
Extract from Google Documentation: From "Analytics Hub Overview"
(https://cloud.google.com/analytics-hub/docs): "Analytics Hub enables secure, controlled data sharing with private exchanges. Combine with organization policies like restrictDataEgress to prevent data copying, providing a reusable framework for sharing BigQuery datasets across teams."
Reference: Google Cloud Documentation – "Analytics Hub" (https://cloud.google.com/analytics-hub).
Another team in your organization is requesting access to a BigQuery dataset. You need to share the dataset with the team while minimizing the risk of unauthorized copying of data. You also want to create a reusable framework in case you need to share this data with other teams in the future.
What should you do?
- A . Create authorized views in the team’s Google Cloud project that is only accessible by the team.
- B . Create a private exchange using Analytics Hub with data egress restriction, and grant access to the team members.
- C . Enable domain restricted sharing on the project. Grant the team members the BigQuery Data Viewer IAM role on the dataset.
- D . Export the dataset to a Cloud Storage bucket in the team’s Google Cloud project that is only accessible by the team.
B
Explanation:
Using Analytics Hub to create a private exchange with data egress restrictions ensures controlled sharing of the dataset while minimizing the risk of unauthorized copying. This approach allows you to provide secure, managed access to the dataset without giving direct access to the raw data. The egress restriction ensures that data cannot be exported or copied outside the designated boundaries. Additionally, this solution provides a reusable framework that simplifies future data sharing with other teams or projects while maintaining strict data governance.
Extract from Google Documentation: From "Analytics Hub Overview"
(https://cloud.google.com/analytics-hub/docs): "Analytics Hub enables secure, controlled data sharing with private exchanges. Combine with organization policies like restrictDataEgress to prevent data copying, providing a reusable framework for sharing BigQuery datasets across teams."
Reference: Google Cloud Documentation – "Analytics Hub" (https://cloud.google.com/analytics-hub).
Your organization is building a new application on Google Cloud. Several data files will need to be stored in Cloud Storage. Your organization has approved only two specific cloud regions where these data files can reside. You need to determine a Cloud Storage bucket strategy that includes automated high availability.
What should you do?
- A . Create a dual-region bucket, and upload the files to this bucket.
- B . Create a single-region bucket in each of the two regions, and use the gcloud storage command to replicate the data across the buckets in both regions.
- C . Create a multi-region bucket, and upload the files to this bucket.
- D . Create a single-region bucket in each of the two regions, and use Storage Transfer Service to replicate the data across the buckets in both regions.
A
Explanation:
Comprehensive and Detailed In-Depth
The strategy requires storage in two specific regions with automated high availability (HA). Cloud Storage location options dictate the solution:
Option A: A dual-region bucket (e.g., us-west1 and us-east1) replicates data synchronously across two user-specified regions, ensuring HA without manual intervention. It’s fully automated and meets the requirement.
Option B: Two single-region buckets with gcloud storage replication is manual, not automated, and lacks real-time HA (requires scripting and monitoring).
Option C: Multi-region buckets (e.g., us) span multiple regions within a geography but don’t let you specify exactly two regions, potentially violating the restriction.
Option D: Two single-region buckets with Storage Transfer Service automate replication but aren’t synchronous (batch-based), reducing HA compared to dual-region’s real-time sync.
Why A is Best: Dual-region buckets provide geo-redundancy across two exact regions (e.g., nam4 for us-central1/us-east1), ensuring data is always available with no manual setup. For example, gsutil mb -l nam4 gs://my-bucket creates this setup, aligning with Google’s HA recommendations. Extract from Google Documentation: From "Cloud Storage Bucket Locations"
(https://cloud.google.com/storage/docs/locations): "Dual-region buckets provide high availability by synchronously replicating data across two specific regions you choose, ensuring automated redundancy and accessibility within your approved locations."
Reference: Google Cloud Documentation – "Cloud Storage Dual-Region"
(https://cloud.google.com/storage/docs/locations#dual-region).