Courseiva

Google Cloud Associate Data Practitioner (GCP-ADP) (GCP-ADP) — Questions 76–150

272 questions total · 4 pages · All types, answers revealed

Page 1

Page 2 of 4

Page 3
76
Multi-Selectmedium

When setting up a new Dataplex Lake, which TWO of the following configurations are required? (Choose two)

Select 2 answers
A.A unique name for the Lake
B.A default encryption key
C.A geographic region
D.An external URL for the data
E.A list of all users in the organization
AnswersA, C

Every Dataplex Lake requires a unique name as its identifying attribute within the project and region. This satisfies the mandatory configuration the stem asks for, since the name is used to reference the lake in IAM policies, assets and zones.

Why this answer

Option A is correct because every Dataplex Lake must be given a unique name within its project and location; this name is the resource identifier used in the lake's fully qualified path (projects/PROJECT/locations/LOCATION/lakes/LAKE) and is required at creation time. Option C is correct because a Dataplex Lake is a regional resource, so you must specify a geographic region (e.g., us-central1) when creating it; the region determines where the lake's metadata and associated assets are stored and cannot be omitted. Option B is not required because Dataplex uses Google-managed encryption by default, and a customer-managed encryption key (CMEK) is an optional configuration rather than a mandatory one.

Option D is not required because a lake is a logical container for zones and assets; it does not need an external URL, as data is referenced through assets within zones rather than a lake-level URL. Option E is not required because access is governed by IAM roles and policies, not by supplying a list of all organization users during lake creation.

Exam trap

GCP-ADP often tests whether candidates assume encryption keys or data source URLs are required at lake creation, when in fact only name and region are mandatory — data attachment happens later at the zone/asset level.

77
Multi-Selectmedium

Which THREE of the following are necessary for a production-ready Dataflow pipeline?

Select 3 answers
A.Desktop-based processing
B.Error handling
C.Logging
D.Manual refreshes
E.Monitoring
AnswersB, C, E

Error handling is essential because production pipelines must tolerate transient failures without losing data. Dataflow's retry semantics only cover certain exceptions; application-level failures, malformed records, and dead-letter routing require explicit handling. Without it, a single bad element can stall or fail the pipeline, violating the reliability requirement for production readiness.

Why this answer

Error handling (B) is necessary because a production Dataflow pipeline must gracefully manage failures such as malformed input records, transient network issues, or failed side inputs, typically via try/except blocks, dead-letter queues, or retry policies, so that a single bad element does not halt the entire streaming or batch job. Logging (C) is required to capture runtime events, warnings, and errors through tools like Cloud Logging (Stackdriver), enabling operators to diagnose issues, audit data flow, and trace pipeline behavior across workers. Monitoring (E) is essential to observe pipeline health and performance metrics such as system lag, throughput, watermark progression, and worker CPU/memory in Cloud Monitoring, allowing alerting and timely intervention before SLA breaches.

The unmarked options do not belong: desktop-based processing (A) is irrelevant because Dataflow is a fully managed, cloud-based service that runs on Google Cloud infrastructure, not on a local desktop, and manual refreshes (D) contradict the automation and continuous operation expected of a production pipeline, which should run on schedules or streaming triggers without human intervention.

Exam trap

GCP-ADP often tests the misconception that managed services eliminate the need for operational practices — candidates may wrongly assume Dataflow handles everything, missing that error handling, logging, and monitoring remain mandatory.

78
MCQmedium

You need to anonymize PII (Personally Identifiable Information) before loading data into BigQuery. Which tool is best?

A.Dataflow
B.BigQuery
C.Cloud DLP
D.Cloud Storage
AnswerC

Cloud DLP de-identifies sensitive data using techniques such as masking, tokenisation, and format-preserving encryption before data lands in BigQuery, satisfying the requirement to anonymise PII prior to loading. Its infoType detectors identify PII automatically, so redaction happens at the pipeline stage rather than after ingestion, when exposure would already have occurred.

Why this answer

Cloud DLP (Data Loss Prevention) is purpose-built for discovering, classifying, and de-identifying sensitive data such as PII. It provides de-identification techniques like masking, tokenization, and format-preserving encryption that can be applied to data before it lands in BigQuery. Unlike general-purpose data processing tools, Cloud DLP natively understands PII types (e.g., names, credit card numbers, SSNs) and offers configurable infoType detectors, making it the most efficient and compliant choice for anonymization.

Exam trap

GCP-ADP often tests the misconception that any data processing service (like Dataflow) can handle PII anonymization, but the key is recognizing that Cloud DLP is the only service with native, purpose-built PII detection and de-identification capabilities.

How to eliminate wrong answers

Option A is wrong because Dataflow is a data processing service for building pipelines; while it can call Cloud DLP APIs, it does not natively provide PII detection or de-identification—it requires custom code and external libraries. Option B is wrong because BigQuery is a data warehouse for analytics; it does not have built-in PII anonymization capabilities, and any masking would require manual SQL or UDFs, which are error-prone and not purpose-built for compliance. Option D is wrong because Cloud Storage is an object storage service; it has no data transformation or PII detection features, so it cannot anonymize data.

79
Multi-Selecthard

Which THREE of the following are valid methods for troubleshooting failed tasks in Cloud Composer?

Select 3 answers
A.Checking the Airflow web UI task state
B.Rebuilding the entire GKE cluster
C.Deleting the environment bucket
D.Examining scheduler logs
E.Reviewing task instance logs
AnswersA, D, E

The Airflow web UI shows each task instance's state, letting you identify failed, upstream_failed or retry states and open logs. Checking task state satisfies the stem's requirement for a valid troubleshooting method for failed tasks in Cloud Composer.

Why this answer

Option A is correct because the Airflow web UI shows each task instance's state (queued, running, success, failed, up_for_retry, etc.), letting you quickly identify which tasks failed and drill into their details. Option D is correct because the Composer scheduler logs record DAG parsing errors, scheduling decisions, and task-queueing problems, which are essential for diagnosing why tasks never ran or were stuck. Option E is correct because task instance logs capture the actual stdout/stderr from the task's execution, revealing the specific exception or failure cause.

Option B is not appropriate because rebuilding the entire GKE cluster is a drastic, disruptive action that destroys the environment rather than a troubleshooting step. Option C is not appropriate because deleting the environment bucket removes DAGs, logs, and data, causing data loss and breaking the environment instead of diagnosing the failure.

Exam trap

The trap is selecting destructive or irrelevant actions (rebuilding cluster, deleting bucket) as 'troubleshooting' — the exam expects you to know the non-destructive, diagnostic tools: UI state, scheduler logs, and task logs.

80
MCQhard

A compliance officer requires that a Cloud Storage bucket holding customer records retain every object version for seven years, and that no user, including project owners, be able to delete or overwrite those versions during that period. You need a configuration that enforces this even against accidental or malicious deletion attempts. What should you configure?

A.Grant the compliance team the Storage Object Viewer role and remove Storage Object Admin from all other users.
B.Apply a bucket lock on a retention policy that sets the retention period to seven years.
C.Enable Object Versioning on the bucket and set a lifecycle rule to delete noncurrent versions after 2555 days.
D.Create a Cloud Storage retention policy with a seven-year period but leave it unlocked.
AnswerB

A retention policy prevents objects from being deleted or overwritten until the retention period elapses, and locking the policy makes it permanent: it cannot be removed or shortened, and the retention period cannot be reduced. This enforces immutability for seven years even against project owners, satisfying the compliance requirement. Locking is irreversible, which is exactly what makes the guarantee strong.

Why this answer

A locked retention policy is the only Cloud Storage mechanism that guarantees objects cannot be deleted or overwritten for a fixed period regardless of IAM permissions, because locking removes the ability to shorten or delete the policy itself. Object Versioning and role restrictions provide recoverability or reduced exposure but remain reversible, so they cannot satisfy an enforced seven-year immutability mandate.

Exam trap

The trap here is treating Object Versioning as equivalent to immutability, when noncurrent versions remain deletable by anyone holding delete permissions.

81
Multi-Selectmedium

Which TWO of the following are recommended practices when designing a Dataflow pipeline for high-throughput streaming ingestion?

Select 2 answers
A.Use global windows for all streaming data
B.Ensure the pipeline is parallelized across workers
C.Always write data to Cloud Storage before BigQuery
D.Minimize the amount of state maintained in the pipeline
E.Use ParDo transforms for all logic
AnswersB, D

Parallelising across workers lets Dataflow distribute the streaming load horizontally, so throughput scales with worker count instead of bottlenecking on a single thread. This directly satisfies the high-throughput ingestion constraint by matching processing capacity to the incoming event rate.

Why this answer

Option B is correct because Dataflow achieves high throughput by distributing work across many worker VMs, so the pipeline must be designed to parallelize elements (for example, avoiding artificial fusion bottlenecks and ensuring sufficient sharding) so that multiple workers can process data concurrently. Option D is correct because streaming pipelines must persist state for windows, timers, and deduplication, and excessive or unnecessary state increases checkpointing, shuffling, and persistence overhead, which limits throughput and increases latency; minimizing state keeps the pipeline lean and scalable. Option A is not recommended because global windows never close, so they cannot emit results until the watermark passes the end of time, which is unsuitable for high-throughput streaming ingestion that needs timely output.

Option C is not a required practice because Dataflow can write directly to BigQuery via the BigQueryIO connector, and forcing an intermediate Cloud Storage step adds latency and complexity rather than improving throughput. Option E is not recommended because not all logic belongs in ParDo; built-in transforms such as GroupByKey, Combine, and windowing/triggering primitives are more efficient and often necessary for correct streaming semantics.

Exam trap

GCP-ADP often tests the misconception that global windows are good for streaming, and that writing to Cloud Storage first is always required, so candidates pick those plausible-sounding but incorrect practices.

82
MCQmedium

You have a Dataplex Lake containing data from two different regions. How does this affect data access?

A.Users cannot access data across regions
B.Users must have access to both regional storage resources
C.Data access is automatically merged
D.The Lake automatically replicates data
AnswerB

A Dataplex Lake spanning two regions references storage buckets in each region. Access requires IAM permissions on both underlying regional buckets, so users need rights to both regional storage resources to query all lake data.

Why this answer

A Dataplex Lake can reference assets (Cloud Storage buckets or BigQuery datasets) that reside in different regions, but Dataplex does not move or replicate the data. Access to each asset is governed by the underlying regional storage resource, so users must have permissions and network access to both regions to query data across them. Thus, users must have access to both regional storage resources.

Exam trap

GCP-ADP often tests the misconception that a Dataplex Lake unifies or replicates data across regions, when in fact it only unifies metadata and governance — physical access still depends on the regional resources.

How to eliminate wrong answers

Option A is wrong because users can access data across regions — there is no hard block — provided they have the necessary IAM permissions and the services support cross-region access. Option C is wrong because data access is not automatically merged; Dataplex provides a unified metadata and governance layer, but the physical data remains in its original region and queries must reach each region. Option D is wrong because Dataplex does not automatically replicate data between regions; replication would be a separate Cloud Storage or BigQuery feature configured by the user.

83
MCQeasy

A team wants to display a BigQuery query result inside a Google Sheets spreadsheet so non-technical staff can view the latest figures. The data must refresh automatically each morning without anyone opening the sheet and clicking a refresh button. What should the team configure?

A.Create a BigQuery scheduled query that emails the results as a PDF.
B.Use the Connected Sheets feature with a scheduled refresh of the BigQuery data source.
C.Export the BigQuery table to a CSV file in Cloud Storage and link the sheet to that file.
D.Paste the query results as static values into the sheet each morning.
AnswerB

Connected Sheets links a Google Sheets tab to a BigQuery data source and supports scheduled refreshes, so the data updates each morning without manual intervention. This directly meets the requirement that non-technical staff see current figures automatically, and it retains the live connection so the numbers stay aligned with the BigQuery table.

Why this answer

Connected Sheets maintains a live connection from a Sheets tab to a BigQuery data source and supports scheduled refreshes, so the figures update each morning automatically. Static pastes, CSV exports, and emailed PDFs all fail to deliver unattended, continuously current data in the spreadsheet.

Exam trap

The trap here is treating any recurring export as equivalent to a scheduled refresh of a live Sheets connection, when exports produce snapshots rather than updating data.

84
MCQeasy

You are working in a Vertex AI Workbench notebook and want to list the files in your current working directory. What command should you run?

A.find .
B.dir
C.list_files()
D.!ls
AnswerD

Prefixing a shell command with an exclamation mark executes it in the notebook's underlying shell rather than as Python, so !ls lists the current working directory's files. This is the standard Jupyter-based mechanism in Vertex AI Workbench.

Why this answer

In a Vertex AI Workbench notebook (Jupyter-based), shell commands are executed by prefixing them with an exclamation mark (!). Therefore, !ls runs the Linux ls command in the notebook's underlying VM and lists the files in the current working directory. This is the standard Jupyter/IPython syntax for invoking shell commands from a code cell.

Exam trap

GCP-ADP often tests whether candidates know the Jupyter/IPython shell escape syntax (!) versus assuming standard Python functions or OS-specific commands like dir will work in a Linux-based notebook environment.

How to eliminate wrong answers

Option A is wrong because find . is a shell command that would need the ! prefix to run in a notebook, and it recursively searches for files rather than simply listing the current directory. Option B is wrong because dir is a Windows command that is not available in the Linux-based Workbench VM and would not work even with the ! prefix. Option C is wrong because list_files() is not a built-in Python or Workbench function; it would raise a NameError unless explicitly defined.

85
MCQeasy

A junior analyst has written a BigQuery SQL statement that joins an orders table to a customers table and then aggregates total spend per customer. Before running it against production data, the analyst wants to confirm the query is syntactically valid and to see estimated bytes processed without incurring charges for scanning the full tables. What should the analyst do?

A.Run the query with the BigQuery dry run option enabled to validate syntax and view the estimated bytes processed.
B.Query the INFORMATION_SCHEMA.JOBS view to inspect prior executions of similar queries and their bytes billed.
C.Create a materialized view over the join and inspect its refresh statistics before querying it.
D.Run the query against a small sample table created with SELECT * LIMIT 100 to approximate the result.
AnswerA

BigQuery dry runs parse and validate the SQL, resolve table and column references, and return an estimate of bytes processed without actually executing the query or incurring scan charges. This lets the analyst catch syntax or reference errors and judge cost before committing to a real run. It directly matches the goal of validation plus cost estimation on production tables.

Why this answer

A dry run in BigQuery performs full SQL validation, including table and column resolution, and returns the estimated bytes processed without executing the statement or billing for data scanned. That makes it the appropriate pre-flight check for syntax and cost. Sampling data, inspecting job history, or building a materialized view all require execution or answer a different question.

Exam trap

The trap here is believing that adding a LIMIT clause reduces bytes processed, when BigQuery still scans the referenced columns and the estimate becomes unreliable.

86
MCQhard

A BigQuery table has 10 billion rows. You notice a query performing a cross-join is timing out. What should you do?

A.Replace the cross-join with a specific JOIN condition.
B.Use a wildcard table.
C.Cache the results in BigQuery.
D.Increase the number of slots.
AnswerA

Replacing the cross-join with a specific JOIN condition eliminates the Cartesian product, reducing the intermediate result from 10 billion squared rows to only matching pairs. This directly addresses the timeout constraint, since BigQuery's distributed shuffle cannot materialise such an explosive intermediate dataset within the query's execution limits.

Why this answer

A cross-join produces the Cartesian product of two tables — with 10 billion rows, even a modest second table explodes the result set and causes the query to time out. The correct fix is to replace the cross-join with a proper JOIN that includes a specific join condition (ON clause), which restricts the output to matching rows and dramatically reduces the data processed.

Exam trap

GCP-ADP often tests whether candidates reach for infrastructure scaling (more slots) or caching when the real issue is a logically incorrect query — the trap is treating a SQL design flaw as a resource problem.

How to eliminate wrong answers

Option B is wrong because wildcard tables are used to query multiple tables matching a pattern (e.g., table_*), which does not address the Cartesian explosion caused by a cross-join. Option C is wrong because caching results only helps subsequent identical queries and does nothing to fix the initial timeout or the underlying inefficient join. Option D is wrong because increasing slots adds compute capacity but cannot make a Cartesian product of 10 billion rows feasible — the query is logically flawed, not resource-starved.

87
MCQmedium

You have a Data Catalog taxonomy that you want to share across multiple projects. How do you achieve this?

A.Move the taxonomy to the Organization node
B.Duplicate the taxonomy in each project
C.Define it in a central project and share access
D.Use Cloud Resource Manager to link them
AnswerC

Data Catalog taxonomies are project-scoped resources, so defining the taxonomy once in a central project and granting other projects' users or service accounts IAM access to it shares it without duplication. This satisfies the requirement to reuse one taxonomy across multiple projects.

Why this answer

Data Catalog taxonomies are project-scoped resources, so to share one across multiple projects you define it once in a central (host) project and grant other projects' users or service accounts the appropriate Data Catalog IAM roles (e.g., Data Catalog Viewer/Editor) on that taxonomy. This avoids duplication and keeps policy definitions consistent. Cross-project sharing is achieved through IAM bindings, not by relocating the resource.

Exam trap

GCP-ADP often tests the misconception that Data Catalog taxonomies can be attached to the Organization node like IAM policies or org-level custom roles, when in fact they are strictly project-scoped and shared only via IAM.

How to eliminate wrong answers

Option A is wrong because taxonomies cannot be attached to the Organization node — Data Catalog policy tags and taxonomies are project-level resources, and there is no organization-level taxonomy container. Option B is wrong because duplicating the taxonomy in each project creates drift and defeats the purpose of centralized governance; it also multiplies maintenance. Option D is wrong because Cloud Resource Manager manages projects, folders, and org hierarchy — it does not link or share Data Catalog taxonomies between projects.

88
MCQmedium

You are orchestrating a pipeline with Workflows that invokes several Cloud Functions. You need to pass the output of one function as an argument to the next. What is the correct syntax?

A.Use global environment variables to store intermediate state.
B.Assign the call result to a variable and reference it in the next step.
C.Combine all function calls into a single synchronous block.
D.Write the output to a temporary GCS file and read it back.
AnswerB

Workflows steps reference prior outputs through variables assigned from call results, so storing the function's return value and passing it as an argument in the subsequent step satisfies the requirement to chain outputs between functions.

Why this answer

Workflows uses a YAML/JSON syntax where each step's return value can be assigned to a variable, and subsequent steps reference that variable using ${variableName} syntax. This is the idiomatic way to chain Cloud Functions and pass outputs forward. For example: 'call: http.post' with 'result: fn1Result', then the next step uses '${fn1Result.body}'.

Exam trap

GCP-ADP often tests whether candidates understand native orchestration primitives — the trap is over-engineering with external state stores (GCS, env vars) when Workflows already supports direct variable assignment from step results.

How to eliminate wrong answers

Option A is wrong because Workflows has no global environment variables for mutable intermediate state — environment variables are static configuration, not runtime data passing. Option C is wrong because combining calls into a single synchronous block defeats the purpose of orchestration and is not a supported Workflows pattern; steps are inherently sequential or parallel, not merged. Option D is wrong because writing to GCS and reading back is an anti-pattern that adds latency, cost, and complexity when Workflows natively supports variable assignment from step results.

89
MCQhard

You are migrating a high-throughput on-premises database to BigQuery. You need to ensure zero downtime. What is your best strategy?

A.Cloud Pub/Sub
B.Dataflow batch jobs
C.Datastream
D.Batch Export/Import
AnswerC

Datastream provides serverless change data capture, continuously replicating ongoing changes from the source database into BigQuery. This satisfies the zero-downtime constraint by keeping both systems synchronised during migration, so cutover occurs without halting writes or losing transactions.

Why this answer

Datastream is a serverless change data capture (CDC) service that replicates data from on-premises databases to BigQuery with minimal downtime. It continuously streams changes, ensuring zero downtime during migration.

Exam trap

GCP-ADP often tests the confusion between batch and streaming migration tools, leading candidates to choose Dataflow or Pub/Sub when CDC is required for zero downtime.

How to eliminate wrong answers

Option A is wrong because Cloud Pub/Sub is a messaging service, not a database migration tool; it would require custom code to capture changes. Option B is wrong because Dataflow batch jobs process data in batches, not continuous replication, leading to downtime. Option D is wrong because batch export/import involves stopping the database, causing downtime.

90
MCQeasy

You have a Looker Studio report that uses a BigQuery data source. You need to add a chart that shows the total number of orders per day for the last 30 days. The date field is named `order_date`. Which chart type and dimension setup should you use?

A.A time series chart with `order_date` as the dimension and a record count metric.
B.A bar chart with `order_date` as the dimension and a record count metric.
C.A scorecard with `order_date` as the dimension and a record count metric.
D.A pie chart with `order_date` as the dimension and a record count metric.
AnswerA

A time series chart is designed to display data over time, with the date field as the dimension. Using `order_date` as the dimension and a record count metric (e.g., COUNT(*)) will show the number of orders per day. This directly meets the requirement of total orders per day for the last 30 days.

Why this answer

To visualize a daily trend, a time series chart is the correct choice. It uses a date dimension on the x-axis and a metric on the y-axis, automatically handling date granularity and ranges. A record count metric counts the number of orders per day.

Other chart types either do not show trends or are unsuited for time-based data.

Exam trap

The trap here is choosing a bar chart because it looks similar, but bar charts treat dates as categories and lack the continuous time axis and date range handling of a time series chart.

91
MCQhard

You are using Cloud Composer to orchestrate a data pipeline. A critical task in your DAG is failing intermittently due to a known transient error in an external API. You want to automatically retry the task up to 5 times with a 2-minute delay between retries. Which Airflow feature should you configure to achieve this?

A.Configure a `SLA` (Service Level Agreement) with a timeout to force a retry.
B.Set `retries=5` and `retry_delay=timedelta(minutes=2)` in the task's default arguments.
C.Implement a custom operator that loops until success, with a sleep between attempts.
D.Use the `on_failure_callback` to trigger a new task run after a delay.
AnswerB

In Airflow, the `retries` parameter specifies the number of retry attempts, and `retry_delay` defines the wait time between retries. Setting these in the task's arguments or DAG default_args will automatically retry the task as specified, which is exactly what is needed for transient errors.

Why this answer

Airflow's built-in retry mechanism is configured via the `retries` and `retry_delay` parameters. These can be set at the DAG level (default_args) or per task. When a task fails, Airflow will automatically retry it after the specified delay, up to the maximum number of retries.

This is the standard way to handle transient failures.

Exam trap

The trap here is confusing failure callbacks or SLAs with retry mechanisms; only `retries` and `retry_delay` control automatic retries.

92
MCQeasy

You need to create a visualization in Looker Studio that shows the proportion of total sales by product category. Which chart type is most appropriate?

A.Pie chart
B.Scorecard
C.Time series chart
D.Geo chart
AnswerA

A pie chart displays data as slices of a whole, making it ideal for showing proportions or percentages of a total. With product category as the dimension and sales as the metric, each slice represents a category's share of total sales. This directly fulfills the requirement to show proportion.

Why this answer

A pie chart is specifically designed to show parts of a whole, with each slice representing a category's contribution to the total. When configured with product category as the dimension and sales as the metric, it visually communicates the proportion of total sales for each category, which is exactly what the scenario requires.

Exam trap

The trap here is selecting a chart that can display sales by category but not proportions, such as a bar chart, which shows absolute values rather than relative shares.

93
MCQmedium

What is the role of the 'Dataplex Data Steward'?

A.To write SQL queries for the business
B.To manage metadata, quality rules, and compliance
C.To develop ETL pipelines
D.To manage the underlying infrastructure
AnswerB

Dataplex Data Steward owns metadata curation, data quality rule definition, and compliance policy enforcement across lake zones and assets. This satisfies the stem's focus on governance duties, since stewards govern business metadata and quality thresholds rather than building pipelines or administering IAM, which fall to data engineers and platform admins.

Why this answer

A Dataplex Data Steward is responsible for managing metadata, defining and enforcing data quality rules, and ensuring compliance with governance policies across data assets. This role uses Dataplex features like Business Glossary, Data Quality tasks, and Data Catalog to curate and govern data. It is a governance-focused role, not an engineering or analytics role.

Exam trap

GCP-ADP often tests the confusion between governance roles (Data Steward) and engineering/analyst roles (ETL developer, SQL analyst), tempting candidates to pick a hands-on technical option instead of the governance-focused one.

How to eliminate wrong answers

Option A is wrong because writing SQL queries for the business is an analyst or data engineer responsibility, not the Data Steward's governance-focused role. Option C is wrong because developing ETL pipelines is a data engineering task; the Steward governs metadata and quality, not pipeline code. Option D is wrong because managing underlying infrastructure is a cloud/platform admin responsibility, not part of the Data Steward's metadata and compliance duties.

94
Multi-Selecteasy

Which TWO of the following are valid ways to trigger a Cloud Composer DAG?

Select 2 answers
A.Sending an email to the Airflow scheduler.
B.Clicking 'Run' in the Cloud Composer console environment list.
C.Airflow Web UI
D.Directly editing the DAG file in the bucket.
E.Airflow CLI
AnswersC, E

The Airflow web server exposes the DAGs page, where a run can be triggered manually via the Trigger DAG button. This satisfies the stem's requirement for a valid trigger method, since the web UI issues the same DagRun creation call the scheduler processes.

Why this answer

Option C (Airflow Web UI) is correct because Cloud Composer exposes the Airflow web server, and from the DAGs view you can manually trigger a DAG run using the 'Trigger DAG' (play) button, which creates a dag_run via the Airflow metadata database. Option E (Airflow CLI) is correct because Cloud Composer supports running Airflow CLI commands such as 'gcloud composer environments run ENVIRONMENT --location LOCATION dags trigger -- DAG_ID', which invokes the same scheduler-side trigger mechanism. Option A is wrong because the Airflow scheduler does not receive triggers by email; it only schedules DAG runs based on the DAG's schedule and metadata.

Option B is wrong because the Cloud Composer console environment list does not provide a 'Run' button to trigger a DAG; it only manages environments. Option D is wrong because editing the DAG file in the bucket merely updates the DAG definition and does not itself trigger a run.

Exam trap

GCP-ADP often tests whether candidates confuse the GCP Cloud Composer console (environment management) with the Airflow Web UI (DAG operations), leading them to pick the console 'Run' option that does not exist.

95
MCQmedium

Your team stores customer feedback in a BigQuery table with a column `feedback_text`. You need to count how many times each of the words 'fast', 'slow', and 'broken' appears across all feedback rows. You want to run this as a single SQL query in BigQuery. Which approach should you use?

A.Use the `ML.NGRAMS` function from BigQuery ML to tokenize the text and then count the n-grams.
B.Use the `REGEXP_EXTRACT_ALL` function with a pattern that matches each target word, then unnest the resulting array and group by the extracted word.
C.Use the `SPLIT` function on each feedback_text row with a space delimiter, then use `UNNEST` and filter with a `WHERE` clause for the three words.
D.Use `COUNTIF` with three separate conditions in a single SELECT statement, such as `COUNTIF(feedback_text LIKE '%fast%')`.
AnswerB

REGEXP_EXTRACT_ALL returns an array of all non-overlapping matches for a pattern, so specifying a pattern like `(fast|slow|broken)` captures each occurrence. Unnesting the array turns each match into a row, and grouping by the extracted word yields the count per word across all feedback rows. This is a standard BigQuery pattern for word-frequency analysis in a single query.

Why this answer

To count every occurrence of specific words across all feedback rows, you need a method that extracts each match individually and then aggregates. REGEXP_EXTRACT_ALL with a pattern matching any of the target words returns an array of all matches per row; unnesting and grouping by the extracted word gives the total count per word. This handles multiple occurrences per row and punctuation correctly.

Exam trap

The trap here is assuming that counting rows containing a word is the same as counting the number of times the word appears, which leads to undercounting when a word repeats within a single row.

96
MCQeasy

Which console menu would you navigate to in order to access Dataplex?

A.Compute Engine
B.Operations
C.Analytics
D.Storage
AnswerC

Dataplex is surfaced in the Google Cloud console under the Analytics section, alongside BigQuery and other data analytics services. Navigating to Analytics is therefore the menu path that exposes the Dataplex governance and metadata capabilities the question asks you to locate.

Why this answer

Dataplex is accessed from the Analytics section of the Google Cloud Console, alongside BigQuery, Dataflow, Dataproc, and other data analytics services. This is where Google groups its data governance and analytics offerings.

Exam trap

GCP-ADP often tests console navigation trivia, and candidates who associate Dataplex with Storage (because it governs data lakes) pick the wrong menu — the correct grouping is Analytics.

How to eliminate wrong answers

Option A is wrong because Compute Engine is for virtual machines and does not host Dataplex. Option B is wrong because Operations (formerly Stackdriver) is for monitoring, logging, and observability. Option D is wrong because Storage is for Cloud Storage buckets and related storage services, not data governance.

97
Multi-Selectmedium

You are designing a Cloud Composer 2 DAG that must process files as they arrive in a Cloud Storage bucket. You want to minimize latency and avoid unnecessary worker resource consumption. Which TWO approaches should you use? (Choose two.)

Select 2 answers
A.Configure the bucket to send object change notifications to a Pub/Sub topic, and use a Pub/Sub sensor in the DAG to wait for messages.
B.Schedule the DAG to run every minute with a cron expression and have it list the bucket for new files.
C.Use a Cloud Function triggered by Cloud Storage events to start a Cloud Composer DAG run via the Airflow REST API.
D.Use a Cloud Storage sensor that checks for new files at a fixed interval.
E.Increase the number of workers in the Cloud Composer environment to ensure sensors never block other tasks.
AnswersA, C

This is event-driven: the sensor waits for a Pub/Sub message and unblocks as soon as the event arrives, minimizing latency. It does not poll the bucket, reducing API calls and worker resource consumption. This is the recommended pattern for reacting to new files with low latency.

Why this answer

Both a Pub/Sub sensor and a Cloud Function triggered by Cloud Storage events provide event-driven reactions to new files, minimizing latency and avoiding polling. The Pub/Sub sensor uses native Airflow operators and no custom code, while the Cloud Function uses the Airflow REST API to trigger the DAG. Polling sensors or frequent scheduled runs add latency and waste resources.

Exam trap

The trap here is assuming that polling sensors or more workers solve latency and resource issues, when event-driven triggers are the correct way to react immediately without holding worker slots.

98
MCQeasy

Your organization requires that all data ingested into Cloud Storage be encrypted at rest using keys managed by you, not Google. Which feature should you implement?

A.Bucket Lock
B.Customer-Managed Encryption Keys (CMEK)
C.Signed URLs
D.Cloud Storage default encryption
AnswerB

CMEK wraps data encryption keys with keys held in Cloud KMS under your control, so Google cannot decrypt objects without them. This satisfies the stem's constraint that keys be organisation-managed rather than Google-managed, unlike default encryption.

Why this answer

Customer-Managed Encryption Keys (CMEK) in Cloud Storage let you supply your own Cloud KMS key to encrypt objects at rest, so Google does not control the key material. This satisfies the requirement that keys be managed by the organization rather than Google, and it integrates with Cloud KMS for rotation and audit.

Exam trap

GCP-ADP often tests the distinction between Google-managed default encryption, CMEK, CSEK, and EKM — candidates pick 'default encryption' thinking it means 'encrypted at rest,' missing the key-ownership requirement.

How to eliminate wrong answers

Option A is wrong because Bucket Lock enforces a retention policy (WORM) on objects; it has nothing to do with key management. Option C is wrong because Signed URLs grant time-limited access to objects; they are an access-control mechanism, not an encryption-key mechanism. Option D is wrong because Cloud Storage default encryption uses Google-managed keys, which is exactly what the organization wants to avoid.

99
MCQhard

A financial analyst needs a Looker Studio report that displays the same revenue chart but filtered by a different region on each of four pages, without duplicating the underlying BigQuery data source. The report currently uses one chart that reads from a BigQuery view. What should the analyst do to reuse the chart across pages with different region filters?

A.Create four separate BigQuery views, one per region, and add a chart for each view on its own page.
B.Add a report-level filter for region and let each page inherit it, then rely on page-level filter overrides.
C.Create a reusable chart as a component in the report's component library, then place it on each page and bind a page-specific region filter.
D.Use a blend between the BigQuery view and a manually entered region parameter table, then add a parameter control per page.
AnswerC

Looker Studio supports reusable components that can be placed on multiple pages while each instance retains page-level filter controls. This keeps a single chart definition linked to the BigQuery data source, so the revenue logic lives in one place. Each page's region filter narrows that page's instance independently, satisfying the requirement without duplicating the data source or the view.

Why this answer

Reusable components let a single chart definition be placed on several pages while each placement keeps its own page-level filter controls. Because the component stays bound to the same BigQuery data source, revenue logic is maintained once and each page can target a different region. Duplicating views or relying on report-level filters either multiplies maintenance or forces one filter across all pages.

Exam trap

The trap here is assuming that report-level filters can be scoped per page, when in fact they propagate to every page and cannot produce four different regions from one control.

100
MCQmedium

A retail analytics team stores point-of-sale transactions in a BigQuery table named `sales.transactions` that is partitioned by a DATE column called `transaction_date`. An analyst must produce a report showing only the transactions from the previous calendar month, and the report will be refreshed on the first day of every month. Which query pattern most efficiently retrieves the required data while minimizing bytes processed?

A.SELECT * FROM sales.transactions WHERE transaction_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH) AND CURRENT_DATE()
B.SELECT * FROM sales.transactions WHERE EXTRACT(MONTH FROM transaction_date) = EXTRACT(MONTH FROM DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH))
C.SELECT * FROM sales.transactions WHERE transaction_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)
D.SELECT * FROM sales.transactions WHERE transaction_date >= DATE_TRUNC(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), MONTH) AND transaction_date < DATE_TRUNC(CURRENT_DATE(), MONTH)
AnswerD

This filter computes the first day of the previous month and the first day of the current month, giving an exact previous-calendar-month range. Both bounds are constant expressions on the partition column, so BigQuery prunes to only the relevant date partitions, minimizing bytes processed. It also correctly excludes the current month's data, which matches the monthly refresh requirement.

Why this answer

Filtering a partitioned table with a range comparison on the partition column lets BigQuery scan only the partitions that satisfy the predicate. Computing the previous month's first day and the current month's first day as constant bounds produces an exact calendar-month window and enables partition pruning, keeping bytes processed low. Functions applied to the partition column or rolling date arithmetic break pruning or return the wrong period.

Exam trap

The trap here is assuming that any WHERE clause on a partitioned column automatically prunes partitions, when wrapping the column in a function or using rolling intervals silently disables pruning or shifts the date range.

101
MCQmedium

You are using BigQuery and need to query a large dataset that is partitioned by day. Which clause should you always include for efficiency?

A.WHERE clause on the partition column
B.ORDER BY
C.LIMIT
D.GROUP BY
AnswerA

Filtering with a WHERE clause on the partition column enables partition pruning, so BigQuery scans only the relevant daily partitions rather than the entire table. This directly satisfies the stem's efficiency requirement for a day-partitioned dataset, cutting bytes processed and query cost.

Why this answer

BigQuery partitioned tables store data in separate segments by partition column (e.g., DATE or TIMESTAMP). Including a WHERE clause on the partition column allows BigQuery to prune partitions and scan only the relevant data, dramatically reducing bytes processed and cost. Without it, the query scans the entire table, which is inefficient and expensive for large datasets.

Exam trap

GCP-ADP often tests the misconception that LIMIT reduces cost or scan size, when in fact only partition pruning via a WHERE clause on the partition column reduces bytes processed.

How to eliminate wrong answers

Option B is wrong because ORDER BY sorts the result set after scanning — it does not reduce the amount of data read and can even increase resource usage for large results. Option C is wrong because LIMIT restricts the number of rows returned but does not reduce the bytes scanned; BigQuery still processes the full table unless partition pruning occurs. Option D is wrong because GROUP BY aggregates data after scanning and does not limit the partitions read — it is an aggregation operation, not a pruning mechanism.

102
MCQeasy

You need to load a 5 TB uncompressed CSV file from Cloud Storage into BigQuery. The file is too large to load in a single job. What is the recommended approach?

A.Create an external table in BigQuery that points to the CSV file in Cloud Storage.
B.Compress the file with gzip and load it as a single file.
C.Use the BigQuery Storage Write API to stream the file directly into BigQuery.
D.Split the file into multiple smaller files and load them in parallel using multiple load jobs.
AnswerD

BigQuery load jobs have a maximum file size limit (5 TB for uncompressed CSV, but practical limits and performance suggest splitting). Splitting into multiple files allows parallel loading, which is faster and avoids hitting per-job limits. This is the recommended approach for very large files.

Why this answer

For loading very large files into BigQuery, splitting the data into multiple smaller files and using parallel load jobs is the most efficient and reliable method. It avoids per-job size limits and leverages BigQuery's parallel load capabilities. Other methods like streaming or external tables are not optimal for bulk loading.

Exam trap

The trap here is assuming that a single large file can be loaded directly or that compression alone solves the size limit, when splitting is the recommended practice.

103
Multi-Selectmedium

A media company ingests clickstream events into Pub/Sub and processes them with Dataflow before loading into BigQuery. They need to reduce the number of duplicate records that reach BigQuery while keeping the pipeline streaming and low-latency. Which two approaches should they use? (Choose two.)

Select 2 answers
A.Set the Pub/Sub subscription to exactly-once delivery and rely on it alone to prevent duplicates.
B.Use the BigQuery Storage Write API with exactly-once semantics in the Dataflow sink.
C.Increase the number of Dataflow workers to reduce the chance of bundle retries.
D.Enable BigQuery streaming inserts and schedule a periodic MERGE job to remove duplicates after the fact.
E.Attach a message ID or event ID to each record and deduplicate in Dataflow using a stateful DoFn keyed on that ID.
AnswersB, E

The Storage Write API exactly-once feature deduplicates writes based on stream and offset, so Dataflow retries during restarts or bundle retries do not create duplicate rows. This directly addresses the goal of reducing duplicates at the sink while preserving streaming and low latency. It is the recommended write path for exactly-once streaming ingestion into BigQuery.

Why this answer

Combining the BigQuery Storage Write API with exactly-once semantics at the sink and stateful deduplication in Dataflow keyed on a stable event or message ID addresses duplicates both at write time and during processing. Together they handle retries, restarts, and at-least-once delivery while keeping the pipeline streaming and low-latency.

Exam trap

The trap here is assuming Pub/Sub exactly-once delivery alone guarantees end-to-end deduplication, when it only reduces redelivery within the acknowledgment window and does not cover Dataflow retries or BigQuery writes.

104
MCQeasy

Which Cloud Composer metric should you monitor to identify if your Airflow scheduler is struggling to parse your DAGs in a timely manner?

A.airflow_task_execution_time
B.dag_run_success_count
C.dag_processing_total_parse_time
D.scheduler_heartbeat
AnswerC

Monitoring `dag_processing_total_parse_time` directly exposes cumulative seconds Airflow spends parsing DAG files, so rising values reveal the scheduler falling behind on parsing. This satisfies the stem's constraint of identifying timely DAG parsing, unlike task-execution or queue metrics that ignore the parsing bottleneck entirely.

Why this answer

The dag_processing_total_parse_time metric measures the cumulative time Airflow spends parsing DAG files, which directly indicates whether the scheduler is struggling to keep up with DAG parsing. A rising or consistently high value signals that DAGs are too complex, too numerous, or inefficiently written, delaying task scheduling. This is the canonical Cloud Composer metric for diagnosing scheduler parse bottlenecks.

Exam trap

GCP-ADP often tests whether candidates can distinguish scheduler-health metrics (parse time, heartbeat) from task-execution metrics, so picking airflow_task_execution_time confuses symptom with cause.

How to eliminate wrong answers

Option A is wrong because airflow_task_execution_time measures how long individual tasks run, which reflects worker performance rather than DAG parsing. Option B is wrong because dag_run_success_count is a business-outcome metric tracking successful DAG runs, not scheduler parsing health. Option D is wrong because scheduler_heartbeat indicates whether the scheduler process is alive and emitting heartbeats, which detects crashes or hangs but not parsing performance degradation.

105
MCQeasy

You are deploying a Cloud Composer 2 environment and need to ensure that the DAG files are automatically synchronized to all workers. Where should you store these files?

A.Inside a Docker volume configured in the environment's YAML manifest.
B.In the local /home/airflow/gcs/dags directory of each worker node.
C.In the 'dags/' folder of the environment's bucket.
D.In a custom persistent disk attached to the Airflow scheduler.
AnswerC

Cloud Composer 2 continuously synchronises the 'dags/' folder of the environment's Cloud Storage bucket to every worker's local filesystem. Storing DAG files there guarantees automatic propagation, satisfying the requirement that all workers receive the DAGs.

Why this answer

In Cloud Composer 2, the environment's Cloud Storage bucket contains a 'dags/' folder that is automatically synchronized to all Airflow worker nodes (and the scheduler). Uploading DAG files to gs://<environment-bucket>/dags/ is the supported, automatic way to distribute DAGs, and Composer's built-in sync process pushes changes to every component.

Exam trap

GCP-ADP often tests that Composer DAG distribution is via the environment's GCS bucket 'dags/' folder, so candidates who think they must write to each worker's local filesystem or configure Docker volumes pick the wrong answer.

How to eliminate wrong answers

Option A is wrong because Docker volumes are not the mechanism Composer uses to distribute DAGs — Composer manages the Airflow containers, and users do not configure DAG distribution via Docker volumes in the environment YAML. Option B is wrong because /home/airflow/gcs/dags is the local mount point inside the worker where the GCS bucket is mounted; writing directly to a worker's local filesystem is ephemeral and not synchronized to other workers. Option D is wrong because attaching a custom persistent disk to the scheduler is not a supported Composer pattern and would not sync DAGs to workers.

106
Multi-Selecthard

Which TWO actions can help reduce the time it takes to build a Jupyter notebook in Vertex AI Workbench?

Select 2 answers
A.Scaling up the machine type for the instance
B.Change the project name
C.Disable the persistent disk
D.Using custom container images with pre-installed packages
E.Using a single-core machine
AnswersA, D

Scaling up the machine type allocates more vCPUs and memory to the Workbench instance, accelerating notebook build, kernel startup, and package installation. This directly reduces build time when the bottleneck is compute or memory resources.

Why this answer

Option A is correct because scaling up the machine type for the Vertex AI Workbench instance allocates more vCPUs and RAM, which directly speeds up compute-intensive notebook build and execution tasks such as model training or data processing. Option D is correct because using custom container images with pre-installed packages eliminates the time spent installing dependencies at notebook startup, reducing overall build time. Option B is incorrect because the project name has no effect on notebook build performance.

Option C is incorrect because disabling the persistent disk would remove storage needed for the notebook environment and data, not improve build speed. Option E is incorrect because a single-core machine provides less compute capacity and would slow down, not reduce, build time.

Exam trap

GCP-ADP often tests the misconception that cosmetic or storage changes (project name, persistent disk) affect performance, when only compute sizing and pre-baked dependencies actually reduce build time.

107
MCQeasy

In BigQuery, what does the 'Data Preview' tab show?

A.The edit history of the table.
B.A sample of the table data.
C.The billing usage for that table.
D.The full schema definition.
AnswerB

Data Preview reads a limited number of rows from the table so analysts can inspect schema and sample values without running a query or incurring scan costs. This satisfies the stem by showing representative table data rather than full results or metadata.

Why this answer

The Data Preview tab in BigQuery shows a sample of the table data. It allows you to quickly inspect the first few rows of a table without running a query, which is useful for understanding the data structure and content.

Exam trap

GCP-ADP often tests the difference between the Data Preview tab and other tabs like Schema or Details, and candidates may confuse it with query results or billing information.

How to eliminate wrong answers

Option A is wrong because the edit history of the table is not shown in the Data Preview tab; that information is available in the table's details or audit logs. Option C is wrong because billing usage for a table is not displayed in the Data Preview tab; billing information is available in the Billing section or via the INFORMATION_SCHEMA. Option D is wrong because the full schema definition is shown in the Schema tab, not the Data Preview tab.

108
Multi-Selectmedium

Which THREE of the following are valid Airflow connection types in Cloud Composer?

Select 3 answers
A.HTTP
B.Kubernetes Pod
C.Python
D.Google Cloud
E.Postgres
AnswersA, D, E

HTTP is a built-in Airflow connection type, used to define host, port, schema and credentials for REST endpoints. It is one of the connection types natively supported by Cloud Composer's Airflow environment, making it valid for this selection.

Why this answer

Option A (HTTP) is correct because Cloud Composer's Airflow connection types include 'HTTP', which stores host, schema, login, password, and port for calling REST endpoints via the HttpHook. Option D (Google Cloud) is correct because 'Google Cloud' is a built-in connection type used to store a GCP service account key or scopes, enabling operators like BigQueryInsertJobOperator and GCS hooks to authenticate. Option E (Postgres) is correct because 'Postgres' is a standard Airflow connection type that stores host, schema, login, password, and port for the PostgresHook and PostgresOperator.

Option B (Kubernetes Pod) is not a connection type; KubernetesPodOperator uses a 'Kubernetes' connection (or in-cluster config), not 'Kubernetes Pod'. Option C (Python) is not a connection type; Python callables are executed via the PythonOperator, and no 'Python' connection exists in Airflow's connection type list.

Exam trap

GCP-ADP often tests the distinction between Airflow connection types and operator types, causing candidates to confuse 'Kubernetes Pod' as a connection when it is actually an operator.

109
MCQhard

In BigQuery, you want to improve query performance for a table that is frequently filtered by a `customer_id` column. What is the recommended strategy?

A.Add a primary key constraint.
B.Cluster the table by 'customer_id'.
C.Convert the table to a View.
D.Increase the number of slots in the reservation.
AnswerB

Clustering physically sorts data by customer_id, so filters on that column scan only relevant blocks rather than the whole table. This directly satisfies the stem's requirement to improve performance for frequent customer_id filtering, and unlike partitioning, clustering suits high-cardinality columns where per-value partitions would be impractical.

Why this answer

Clustering a BigQuery table by customer_id physically sorts the data by that column, so queries with filters on customer_id can prune blocks and scan far less data. This is the recommended strategy for improving filter performance on a frequently queried column. Clustering is especially effective for high-cardinality columns and works well with partitioning.

Exam trap

The trap is assuming BigQuery supports primary keys for performance — candidates familiar with traditional RDBMS pick the primary key option, but BigQuery's PKs are not enforced and do not optimize scans.

How to eliminate wrong answers

Option A is wrong because BigQuery does not enforce primary key constraints (it supports NOT ENFORCED primary keys for metadata only, which do not improve query performance). Option C is wrong because a view is just a saved query and does not change the underlying storage or scan efficiency. Option D is wrong because increasing slots adds compute capacity but does not reduce the amount of data scanned, which is the primary driver of query cost and performance for filtered queries.

110
MCQhard

A Cloud Composer DAG is failing because the Airflow database is locking up during high-concurrency periods. What is the most effective way to address this?

A.Delete all past DAG run logs.
B.Increase the number of DAGs in the repository.
C.Scale up the Cloud Composer environment size to increase database resources.
D.Set the 'parallelism' parameter to a very high value.
AnswerC

Scaling the environment size increases the underlying Cloud SQL database tier, raising IOPS and connection limits so row-level locks clear faster under high concurrency. This directly addresses the database locking constraint, since Composer's metadata database scales with environment size rather than worker count.

Why this answer

Cloud Composer's Airflow metadata database (backed by Cloud SQL) is the bottleneck during high-concurrency DAG runs because every task instance, DAG run, and log entry writes to it. Scaling up the Composer environment size increases the Cloud SQL tier (CPU, memory, IOPS), which directly relieves database lock contention and connection saturation. This is the recommended remediation when the scheduler/DB cannot keep up with task state updates.

Exam trap

GCP-ADP often tests the misconception that tuning Airflow parameters like 'parallelism' fixes database lockups, when in fact increasing parallelism makes metadata DB contention worse and the correct fix is scaling the Composer environment.

How to eliminate wrong answers

Option A is wrong because deleting past DAG run logs only frees storage and does not reduce concurrent write contention on the metadata DB during active runs. Option B is wrong because adding more DAGs increases scheduler parsing load and DB writes, worsening the locking problem. Option D is wrong because raising 'parallelism' allows more concurrent task instances, which multiplies simultaneous writes to the Airflow metadata database and intensifies lock contention rather than relieving it.

111
MCQmedium

You are troubleshooting a stuck task in Cloud Composer. You want to see the stdout/stderr logs for that specific task attempt. Where can you find them?

A.In the 'logs/' folder in the environment's GCS bucket.
B.In the Airflow metadata database directly.
C.In the Cloud Composer environment console logs.
D.Via the 'kubectl' logs command on the worker pod.
AnswerA

Task attempt stdout/stderr is written by the Airflow worker to the environment's Cloud Storage bucket, under the logs/ prefix, in a path keyed by DAG, task and attempt. That per-attempt object satisfies the stem's requirement to inspect one specific stuck attempt, unlike Cloud Logging's aggregated streams.

Why this answer

In Cloud Composer, task logs (stdout/stderr) for each task attempt are stored in the environment's GCS bucket under the logs/ folder, organized by DAG and task. This is the canonical location for retrieving raw task output, especially for tasks that have completed or whose pods have been deleted.

Exam trap

The trap is assuming kubectl logs is the primary method — it works only for running pods, but Cloud Composer's design persists task logs to GCS, which is the correct answer for stuck or historical tasks.

How to eliminate wrong answers

Option B is wrong because the Airflow metadata database stores task state and metadata, not stdout/stderr logs. Option C is wrong because the Cloud Composer environment console shows environment-level logs (e.g., Airflow components), not per-task stdout/stderr. Option D is wrong because kubectl logs only works while the worker pod is still running; for stuck or completed tasks, the pod may be gone, and the logs are already archived in GCS.

112
MCQhard

You are designing a Cloud Workflows pipeline that calls a series of Cloud Functions. The output of the first function must be passed as an argument to the second function, and the output of the second to the third. You need to define the workflow in YAML. Which Workflows syntax correctly assigns the result of a function call to a variable and then uses that variable in a subsequent call?

A.- call: firstFunction output: firstResult - call: secondFunction args: input: ${firstResult}
B.- call: firstFunction result: firstResult - call: secondFunction args: ${firstResult}
C.- call: firstFunction result: firstResult - call: secondFunction args: input: ${firstResult}
D.- call: firstFunction result: firstResult - call: secondFunction input: ${firstResult}
AnswerC

In Workflows YAML, the 'result' keyword captures the return value of a call into a variable. Then, you can reference that variable in the 'args' of a subsequent call using the ${} syntax. This correctly passes the output of firstFunction to secondFunction as an argument named 'input'.

Why this answer

In Cloud Workflows, the 'result' keyword captures a call's return value into a variable. Subsequent calls can reference that variable within their 'args' block using ${}. This allows chaining outputs to inputs.

The correct syntax uses 'result' to store the output and then 'args' with a named parameter to pass it along.

Exam trap

The trap here is confusing the keyword for capturing output ('result') with other terms like 'output', and misplacing the variable reference outside the 'args' block.

113
MCQhard

You are running a Dataflow job that joins two large datasets. Which join strategy should you avoid to prevent OOM errors?

A.Side Input Join with a large dataset
B.Flatten
C.CoGroupByKey
D.ParDo
AnswerA

A side input join broadcasts the entire dataset to every worker's memory, so a large dataset exhausts each worker's heap and triggers OOM errors. This directly violates the stem's constraint of joining two large datasets. Instead, use a co-group or shuffle-based join, which partitions both datasets across workers rather than replicating one.

Why this answer

A Side Input Join involves loading one dataset as a side input into memory, which is then available to each worker. If the side input dataset is large, it can cause out-of-memory (OOM) errors on workers because the entire dataset must fit in memory. Therefore, using a side input join with a large dataset is the strategy to avoid.

Other options like CoGroupByKey are designed for large-scale joins.

Exam trap

GCP-ADP often tests the misconception that side inputs are always efficient, when in fact they are only suitable for small datasets and can cause OOM if misused.

How to eliminate wrong answers

Option B is wrong because Flatten is an operation that merges multiple PCollections into one, not a join strategy, and does not cause OOM. Option C is wrong because CoGroupByKey is a scalable join operation that groups data by key and is suitable for large datasets. Option D is wrong because ParDo is a general-purpose transform for element-wise processing, not a join strategy, and does not inherently cause OOM.

114
MCQhard

You have a BigQuery table that is partitioned by day on a DATE column. You need to ensure that data older than 90 days is automatically deleted to reduce storage costs, while keeping the table structure and recent data intact. What should you do?

A.Enable table expiration on the table for 90 days.
B.Set a partition expiration on the table to 90 days.
C.Create a scheduled query that deletes rows older than 90 days daily.
D.Use a lifecycle rule on the dataset to delete tables older than 90 days.
AnswerB

Setting a partition expiration on a partitioned table automatically deletes partitions older than the specified number of days. This reduces storage costs without affecting the table structure or recent data. It is a built-in feature of BigQuery and requires no manual intervention.

Why this answer

Setting partition expiration on a partitioned table automatically removes partitions older than the specified retention period. This is the simplest and most cost-effective way to delete old data while preserving the table and recent partitions. It requires no manual intervention and integrates with BigQuery's storage management.

Exam trap

The trap here is confusing partition expiration with table expiration or dataset lifecycle rules, which delete entire tables rather than just old partitions.

115
MCQmedium

A Cloud Composer 2 task runs a Python script that performs a long-running data transformation and regularly exceeds the default worker pod timeout, causing tasks to be killed and marked as failed. The transformation cannot be shortened and must complete within a single task. What should you do to allow the task to run to completion?

A.Convert the task to use the KubernetesPodOperator with a larger machine type.
B.Set retries=5 and retry_delay=timedelta(minutes=10) on the task.
C.Change the task's queue to default and increase the environment's worker count.
D.Increase the execution_timeout and dagrun_timeout parameters on the task and DAG, and verify the Celery worker visibility timeout is sufficient.
AnswerD

In Cloud Composer 2, tasks run on Celery workers, and the worker visibility timeout controls how long a task can run before the broker considers it lost. Raising execution_timeout on the task, dagrun_timeout on the DAG, and the worker visibility timeout ensures the task is not prematurely killed. This directly addresses the timeout that is terminating the long-running transformation.

Why this answer

Long-running tasks in Cloud Composer 2 are bounded by Airflow execution timeouts and by the Celery worker visibility timeout used by the broker. Increasing execution_timeout and dagrun_timeout, and ensuring the worker visibility timeout is long enough, allows the transformation to finish in one attempt. Adding workers, retrying, or switching operator type does not extend the per-task runtime limit.

Exam trap

The trap here is assuming that retries or more workers solve a timeout, when the actual limit is the per-task execution and visibility timeout configuration.

116
Multi-Selecthard

Which TWO of the following are valid ways to monitor Dataflow performance?

Select 2 answers
A.BigQuery logs
B.Cloud DNS logs
C.Dataflow Monitoring UI
D.Cloud Logging
E.Manual packet sniffing
AnswersC, D

The Dataflow Monitoring UI exposes job graphs, step-level throughput, watermarks, worker CPU and autoscaling metrics in real time. It satisfies the stem's requirement for a valid Dataflow performance monitoring method by surfacing pipeline bottlenecks directly.

Why this answer

Option C (Dataflow Monitoring UI) is correct because the Dataflow console provides a built-in, real-time monitoring interface that displays job graphs, step-level throughput, autoscaling, worker CPU/memory utilization, and system/worker error logs for a running pipeline. Option D (Cloud Logging) is correct because Dataflow writes pipeline logs (e.g., worker logs, job messages, and errors) to Cloud Logging, where you can filter, search, and create log-based metrics and alerts to monitor performance and failures. Option A (BigQuery logs) is not a Dataflow monitoring mechanism; BigQuery audit logs track BigQuery activity, not Dataflow pipeline execution.

Option B (Cloud DNS logs) is unrelated, as DNS logging records name-resolution queries, not Dataflow job metrics. Option E (Manual packet sniffing) is not a supported or practical way to monitor Dataflow performance and would not surface job-level metrics.

Exam trap

GCP-ADP often tests the misconception that any log source (like BigQuery logs) can monitor Dataflow; the exam expects knowledge of the specific Dataflow Monitoring UI and Cloud Logging as the correct tools.

117
MCQmedium

You need to move an asset from one Dataplex Zone to another. What is the correct procedure?

A.Update the IAM policy to include the new zone
B.Delete the asset from the first zone and recreate it in the second
C.Use the 'move' command in the CLI
D.Update the asset metadata to point to the new zone
AnswerB

Dataplex assets are bound to a single zone at creation; no move operation exists. Deleting the asset and recreating it in the target zone is the only supported procedure, satisfying the stem's cross-zone relocation requirement.

Why this answer

In Dataplex, assets are immutable with respect to their zone assignment. To move an asset from one zone to another, you must delete it from the source zone and recreate it in the target zone. There is no direct move operation.

This procedure ensures that metadata and permissions are correctly re-established in the new zone.

Exam trap

GCP-ADP often tests the assumption that assets can be moved or updated like other resources, when in fact they must be deleted and recreated.

How to eliminate wrong answers

Option A is wrong because updating IAM policies does not change the asset's zone; it only controls access. Option C is wrong because there is no 'move' command in the Dataplex CLI for assets; such an operation does not exist. Option D is wrong because asset metadata includes the zone as an immutable property; you cannot update it to point to a new zone.

118
MCQeasy

You need to delete all files in a GCS bucket older than 90 days. What is the most efficient approach?

A.Manual deletion in the console
B.Cloud Lifecycle Management
C.Use Dataflow to filter files
D.Write a cron job with gsutil
AnswerB

Cloud Lifecycle Management applies age-based Object Lifecycle Management rules directly on the bucket, deleting objects automatically once they exceed 90 days. This satisfies the efficiency constraint, avoiding custom scripts or scheduled jobs that list and delete objects individually.

Why this answer

Cloud Lifecycle Management is the most efficient approach because it lets you define a lifecycle rule on the bucket that automatically deletes objects older than 90 days, with no code, no compute, and no manual intervention. It is a native GCS feature designed exactly for age-based object deletion, applying at scale across all objects in the bucket.

Exam trap

GCP-ADP often tests whether candidates over-engineer solutions — the trap is choosing Dataflow or cron jobs for tasks that native GCS lifecycle rules handle more efficiently and at no extra cost.

How to eliminate wrong answers

Option A is wrong because manual deletion in the console is impractical for large buckets, error-prone, and not automatable at scale. Option C is wrong because using Dataflow to filter files adds unnecessary compute cost and complexity for a task that GCS handles natively. Option D is wrong because a cron job with gsutil requires maintaining a VM or scheduler, writing scripts, handling errors, and paying for compute — all avoidable with lifecycle rules.

119
Multi-Selecthard

You are optimizing a Dataflow job. Which THREE of the following actions can help improve job performance and reduce costs?

Select 3 answers
A.Enable Dataflow Autoscaling
B.Use Dataflow Shuffle Service
C.Disable pipeline monitoring
D.Use Flexible Resource Scheduling (FlexRS)
E.Increase the machine type for all workers
AnswersA, B, D

Autoscaling dynamically adjusts the number of worker instances to match pipeline throughput, adding workers during backlog spikes and removing them when demand falls. This directly improves performance under load while cutting costs during idle periods, satisfying both optimisation goals in the stem.

Why this answer

Option A (Enable Dataflow Autoscaling) is correct because it dynamically adjusts the number of worker instances based on the pipeline's workload, scaling up during peak demand and down during idle periods, which both improves throughput and reduces costs by avoiding over-provisioning. Option B (Use Dataflow Shuffle Service) is correct because it offloads shuffle operations from worker VMs to a dedicated, Google-managed service, reducing worker CPU/memory pressure, eliminating the need for persistent disk-based shuffle storage, and improving performance for pipelines with heavy group-by or join operations. Option D (Use Flexible Resource Scheduling, FlexRS) is correct because it uses a combination of preemptible VMs and advanced scheduling to run batch jobs at a significantly lower cost, at the tradeoff of a longer, non-deterministic completion time, which is ideal for non-time-critical batch workloads.

Option C (Disable pipeline monitoring) is not correct because disabling monitoring does not improve performance or reduce costs; it removes visibility into job health and can hinder troubleshooting. Option E (Increase the machine type for all workers) is not correct because uniformly increasing worker machine size can raise costs without guaranteeing better performance, and it is less effective than autoscaling or shuffle offloading for optimizing resource usage.

Exam trap

The trap is picking 'increase machine type' as a performance fix — candidates assume bigger is better, but Dataflow performance is usually bound by shuffle, autoscaling, and scheduling, not raw worker size.

120
MCQeasy

Which property in a Workflows YAML definition is required to define the entry point of the workflow?

A.main
B.entry_point
C.init
D.start
AnswerA

Workflows YAML requires a main block, which names the subworkflow executed first when the workflow runs. Without main, the definition has no defined entry point, so execution cannot begin; other blocks are only reachable once main calls them.

Why this answer

In Google Cloud Workflows YAML definitions, the 'main' property defines the entry point of the workflow — the first step that executes when the workflow runs. It is a required top-level field that names the starting step, and all other steps are reached via transitions from it.

Exam trap

The trap is assuming the entry point field follows naming conventions from other orchestration tools (entry_point, start, init) rather than the actual GCP Workflows schema, which uses 'main'.

How to eliminate wrong answers

Option B is wrong because 'entry_point' is not a valid Workflows YAML property; it is a term used in other systems (e.g., some orchestration tools) but not in GCP Workflows. Option C is wrong because 'init' is not a Workflows YAML property; it may be confused with initialization steps in other languages or tools. Option D is wrong because 'start' is not a valid Workflows property; while conceptually the workflow starts somewhere, the actual field name is 'main'.

121
MCQmedium

You need to track who accessed which GCS bucket. Which service provides this audit trail?

A.Cloud Security Command Center
B.Cloud Monitoring
C.Cloud Trace
D.Cloud Audit Logs
AnswerD

Cloud Audit Logs records Admin Activity and Data Access events, capturing the identity, timestamp and resource for every GCS bucket request. Data Access logs specifically satisfy the requirement to track who accessed which bucket, since bucket reads and writes are data-plane operations that only this audit source records.

Why this answer

Cloud Audit Logs is the correct answer because it automatically records all administrative and data access activities on GCS buckets, including who accessed what, when, and from where. Specifically, Admin Activity logs capture bucket configuration changes, while Data Access logs (when enabled) record object reads and writes. This provides the audit trail required to track access to GCS buckets.

Exam trap

GCP-ADP often tests the distinction between security monitoring services (like Security Command Center) and the underlying audit logging service (Cloud Audit Logs), causing candidates to confuse the tool that provides the raw audit trail with the one that analyzes it.

How to eliminate wrong answers

Option A is wrong because Cloud Security Command Center is a security posture management and threat detection service that aggregates findings from various sources, but it does not itself provide the raw audit trail of GCS access; it may surface anomalies but relies on Cloud Audit Logs for that data. Option B is wrong because Cloud Monitoring is for collecting and visualizing metrics, uptime checks, and alerts on performance and availability, not for recording access events or providing audit trails. Option C is wrong because Cloud Trace is a distributed tracing system for analyzing latency and performance of applications, not for auditing access to storage resources.

122
MCQmedium

Your team runs a nightly Apache Spark job on a Dataproc cluster to cleanse raw event logs stored in Cloud Storage. The job currently reads the raw data, transforms it, and writes Parquet files back to Cloud Storage for downstream BigQuery external tables. The job duration has grown from 20 minutes to over 3 hours as data volume increased, and the cluster is a fixed-size 10-node cluster. You want to reduce runtime without rewriting the Spark code. What should you do?

A.Enable Dataproc autoscaling on the cluster and configure a minimum and maximum worker count.
B.Increase the Dataproc cluster's master node machine type to a larger high-memory instance.
C.Move the raw event logs from Cloud Storage into BigQuery and run the Spark job against BigQuery tables.
D.Convert the Spark job to a Dataflow pipeline using Apache Beam and run it on Dataflow.
AnswerA

Autoscaling dynamically adds and removes worker nodes based on YARN metrics such as pending memory and available compute, which directly addresses the growing data volume without code changes. It respects the configured minimum and maximum worker bounds, so the cluster can expand during the heavy shuffle and write phases and shrink afterward, reducing both runtime and idle cost for this recurring job.

Why this answer

Dataproc autoscaling is the built-in mechanism for adjusting worker capacity to workload demand without modifying application code. By setting minimum and maximum worker counts, the cluster grows during shuffle-heavy phases and scales back when idle, improving runtime and controlling cost for a recurring batch job. The other choices either require rewriting code, scale the wrong node type, or change storage architecture without fixing compute capacity.

Exam trap

The trap here is assuming that resizing the master node or changing the storage layer will speed up a Spark job, when the real bottleneck is the number of worker executors available for parallel processing.

123
MCQmedium

Your organization stores sensitive customer data in a Cloud Storage bucket. You need to ensure that data is automatically classified and tagged as 'PII' when it is written, and that the tags are available for audit and access control decisions. You want to minimize manual effort and use Google Cloud native tooling. What should you do?

A.Create a Cloud Function that triggers on object finalize events, calls the DLP API to inspect the object, and writes custom tags to a separate Firestore database.
B.Use Dataplex Data Quality tasks to scan the bucket and automatically apply PII tags based on predefined rules.
C.Enable Sensitive Data Protection (DLP) discovery on the bucket and configure a discovery scan with a schedule; then publish the results to Data Catalog.
D.Configure a VPC Service Controls perimeter around the bucket and enable Access Transparency logs to classify the data.
AnswerC

Sensitive Data Protection discovery profiles data in Cloud Storage, identifies infoTypes such as PII, and can publish findings to Data Catalog as tags. This automates classification and makes tags available for audit and IAM conditions. It is the native, low-effort solution for continuous auto-classification of data at rest in Cloud Storage.

Why this answer

Sensitive Data Protection discovery is the native Google Cloud service for automatically profiling and classifying data in Cloud Storage. It can detect PII infoTypes, run on a schedule, and publish findings as tags in Data Catalog. This satisfies the need for automatic classification with minimal manual effort and integrates with audit and access control.

Exam trap

The trap here is assuming that Data Quality tasks or custom code can automatically detect and tag PII, when only Sensitive Data Protection discovery provides built-in infoType detection and Data Catalog integration.

124
MCQmedium

Your team ingests JSON event files into Cloud Storage, and you must load them into BigQuery daily. The files contain a field named `user_info` that holds a nested JSON object with varying keys. You want BigQuery to store this field as a native STRUCT so analysts can query subfields with dot notation. Which schema type should you define for the `user_info` column when creating the table?

A.RECORD
B.BYTES
C.GEOGRAPHY
D.STRING
AnswerA

In BigQuery, a RECORD column is the equivalent of a STRUCT, so defining `user_info` as RECORD lets the load job map the nested JSON object into a structured field. Analysts can then reference subfields directly, and BigQuery enforces the nested schema. This is the correct choice for preserving nested JSON as a queryable STRUCT in a BigQuery table.

Why this answer

BigQuery represents nested structures with the RECORD type, which is equivalent to a STRUCT. When you load JSON where a field contains an object, declaring that column as RECORD lets BigQuery preserve the nested keys and types, and analysts can query subfields with dot notation. STRING, BYTES, and GEOGRAPHY do not provide native nested-field access or schema enforcement.

Exam trap

The trap here is assuming that any nested-looking JSON must be stored as STRING because BigQuery cannot handle nested data natively.

125
MCQeasy

What does 'Data Lineage' show you in Dataplex?

A.The path the data took through the system
B.The number of users accessing the data
C.The cost of storing data
D.The database schema version
AnswerA

Data Lineage records how data flows and transforms across Dataplex assets, mapping source-to-target relationships through processing steps. This satisfies the stem by showing the path data took through the system, including upstream sources and downstream consumers.

Why this answer

Data Lineage in Dataplex shows the path data takes through the system — from source to destination, including transformations and dependencies. It provides a visual and programmatic view of how data flows across datasets, tables, and processes, enabling impact analysis and root-cause debugging.

Exam trap

GCP-ADP often tests the distinction between lineage (data flow path) and other metadata like schema, cost, or access — candidates confuse 'lineage' with 'audit' or 'catalog' concepts.

How to eliminate wrong answers

Option B is wrong because user access counts are an audit/usage metric, not lineage; lineage tracks data movement, not consumption. Option C is wrong because storage cost is a billing concern, not lineage. Option D is wrong because schema version is a metadata attribute, not the flow of data through the system.

126
MCQeasy

A data engineer needs a lightweight, serverless orchestrator on Google Cloud to run a sequence of HTTP calls to internal microservices, retry the calls a few times on failure, and expose the whole sequence as a single REST endpoint. The workflow must not require provisioning any cluster or VM. Which Google Cloud service should be used?

A.Dataflow
B.Cloud Composer
C.Workflows
D.Cloud Scheduler
AnswerC

Workflows is a fully managed, serverless orchestration service that runs YAML- or JSON-defined sequences of steps, including HTTP calls, with built-in retry policies and error handling. It exposes each workflow as an execution endpoint that can be invoked via the Workflows API, gcloud, or client libraries, and it requires no cluster or VM, matching every constraint in the scenario.

Why this answer

Workflows is the serverless orchestration product on Google Cloud and is purpose-built for sequences of steps such as HTTP calls with retries and error handling. It requires no cluster or VM, and each workflow can be executed through a REST endpoint. Cloud Composer is heavier and cluster-based, Cloud Scheduler only triggers jobs, and Dataflow is a data processing runner rather than a service orchestrator.

Exam trap

The trap here is conflating orchestration with scheduling, so a candidate may pick Cloud Scheduler even though it cannot chain steps or pass data between them.

127
Multi-Selectmedium

You are designing a Cloud Composer 2 DAG that must run a task only after a daily file has arrived in a Cloud Storage bucket. You want the DAG to avoid failing prematurely and to avoid consuming a worker slot while waiting. Which two approaches should you use? (Choose two.)

Select 2 answers
A.Configure the DAG's catchup parameter to True so missed runs backfill until the file appears.
B.Set the sensor's mode to reschedule so the task releases its worker slot between pokes.
C.Wrap a gsutil ls command in a BashOperator and rely on its non-zero exit code to retry the task until the file appears.
D.Use a TimeDeltaSensor set to 24 hours so the task always runs exactly one day after the DAG starts.
E.Use a GCSObjectExistenceSensor with the appropriate bucket and object parameters set from an Airflow variable.
AnswersB, E

Setting mode to reschedule makes the sensor task exit its worker slot between poke intervals and be rescheduled later, so a long wait does not block a worker. Combined with a GCSObjectExistenceSensor, this is the classic way to wait for a file without starving other tasks, and it is the pre-deferrable equivalent of deferring. Using mode poke instead would hold the slot continuously.

Why this answer

Waiting for an external file is a sensor use case. GCSObjectExistenceSensor checks for the object and succeeds only when it appears, and running the sensor with mode set to reschedule frees the worker between pokes so a long wait does not occupy a slot. Bash-based polling abuses retries, a fixed delay does not reflect file arrival, and catchup is unrelated to external event waiting.

Exam trap

The trap here is treating task retries or fixed delays as substitutes for a sensor, when sensors exist precisely to wait on external conditions without failing tasks.

128
MCQeasy

Which component of Cloud Composer acts as the primary interface for managing and triggering DAGs manually?

A.Cloud Storage Browser
B.Airflow Web Interface
C.Cloud Shell
D.BigQuery Console
AnswerB

The Airflow Web Interface (the Airflow UI served by the Composer web server) is the primary interface for inspecting, triggering and managing DAGs manually. The scheduler and workers execute DAGs but offer no manual trigger surface.

Why this answer

The Airflow Web Interface (the Airflow UI) is the primary interface in Cloud Composer for viewing, triggering, and managing DAGs manually. It provides DAG views, task logs, graph view, and manual trigger buttons.

Exam trap

GCP-ADP often tests the distinction between the Airflow UI (interactive management) and the GCS bucket (DAG deployment) — candidates who pick Cloud Storage Browser confuse where DAGs live with where they are managed.

How to eliminate wrong answers

Option A is wrong because Cloud Storage Browser is for managing the GCS bucket that backs the Composer environment (DAGs, plugins, data), not for triggering DAGs. Option C is wrong because Cloud Shell is a command-line environment where you can run gcloud or Airflow CLI commands, but it is not the primary UI for managing DAGs. Option D is wrong because BigQuery Console is for SQL queries and dataset management, unrelated to Airflow DAG orchestration.

129
Multi-Selecthard

Which TWO of the following are key benefits of using Dataflow?

Select 2 answers
A.Fully managed
B.Hardware management
C.Supports batch and streaming
D.Automatic data entry
E.Low-latency SQL queries
AnswersA, C

Dataflow is fully managed, removing the need to provision or maintain Compute Engine instances for pipeline execution. This satisfies the stem's benefit criterion by letting teams run Apache Beam pipelines without cluster administration, as the service handles worker scaling, patching and resource lifecycle automatically.

Why this answer

Option A is correct because Dataflow is a fully managed service: Google handles provisioning, scaling, and maintenance of the underlying Compute Engine worker VMs, so you don't manage clusters or infrastructure yourself. Option C is correct because Dataflow's Apache Beam-based programming model natively supports both batch and streaming pipelines, using the same code with different runners and windowing/triggering semantics. The unmarked options do not belong: hardware management (B) is handled by Google as part of the managed service, not a benefit you perform; automatic data entry (D) is not a Dataflow feature since Dataflow processes data rather than capturing or entering it; and low-latency SQL queries (E) describe an interactive query engine such as BigQuery, not Dataflow's pipeline execution model.

Exam trap

GCP-ADP often tests whether candidates confuse Dataflow with BigQuery — the trap is picking 'low-latency SQL queries' as a Dataflow benefit when that is BigQuery's domain, not Dataflow's.

130
MCQhard

You are processing streaming data in Pub/Sub and need to archive every message into GCS without writing custom code. What should you use?

A.Dataflow
B.BigQuery Data Transfer Service
C.Cloud Functions
D.Pub/Sub Cloud Storage subscription
AnswerD

A Cloud Storage subscription is a native Pub/Sub export sink: it writes each message to a GCS bucket automatically, satisfying the no-custom-code constraint. No subscriber client, Dataflow pipeline or Cloud Function is needed, since delivery is handled entirely by the managed subscription itself.

Why this answer

A Pub/Sub Cloud Storage subscription is a built-in subscription type that writes messages directly to a GCS bucket without any custom code. You configure the subscription with a bucket, filename prefix/suffix, and format, and Pub/Sub handles batching and delivery. This satisfies the requirement of archiving every message to GCS with no custom code.

Exam trap

The trap is defaulting to Dataflow or Cloud Functions for Pub/Sub-to-GCS archiving, overlooking the native Cloud Storage subscription that requires no code.

How to eliminate wrong answers

Option A is wrong because Dataflow requires writing a pipeline (custom code or a template) to read from Pub/Sub and write to GCS, which violates the 'without writing custom code' constraint. Option B is wrong because BigQuery Data Transfer Service moves data into BigQuery, not GCS, and is designed for scheduled transfers from sources like SaaS apps and GCS into BigQuery. Option C is wrong because Cloud Functions requires writing custom code to receive Pub/Sub messages and write them to GCS.

131
MCQhard

In a Cloud Composer DAG, you need to trigger a BigQuery job that runs as a service account other than the one assigned to the GKE nodes. How should you implement this?

A.Hardcode the credentials in a JSON file inside the DAG folder.
B.Use the 'impersonation_chain' parameter in the BigQueryInsertJobOperator.
C.Change the worker node's identity in the Cloud Console.
D.Configure a connection with the 'Service Account Key' type in Airflow UI.
AnswerB

The impersonation_chain parameter makes the operator obtain short-lived credentials for a specified service account, so the BigQuery job runs under that identity rather than the node service account. This satisfies the stem's requirement to use a different service account.

Why this answer

The 'impersonation_chain' parameter is the native Airflow mechanism for a task to assume a different service account identity at runtime. When set on BigQueryInsertJobOperator, the operator calls the IAM Credentials API to generate short-lived access tokens for the target service account, so the BigQuery job executes under that SA's permissions rather than the Composer worker SA. This preserves least privilege without storing any long-lived secrets.

Exam trap

GCP-ADP often tests whether candidates know that Composer's recommended pattern for cross-identity execution is impersonation_chain rather than downloading and storing service account keys.

How to eliminate wrong answers

Option A is wrong because hardcoding service account JSON keys in the DAG folder exposes long-lived credentials in GCS and violates Google's key-management best practices. Option C is wrong because changing the GKE node identity affects every workload on the cluster, not just this DAG, and Composer manages node pools so manual identity changes are unsupported. Option D is wrong because the 'Service Account Key' connection type still requires a downloaded JSON key stored in Airflow, which is the exact anti-pattern impersonation_chain was designed to eliminate.

132
MCQmedium

Your organization uses Workflows to orchestrate multi-step API calls. You need to handle transient failures in a specific HTTP request by retrying it up to 5 times with exponential backoff. Which block should you use?

A.A 'loop' block with a counter increment.
B.An 'if' statement checking for 500 status codes.
C.A global 'exception' handler at the end of the workflow.
D.A 'try' block with a 'retry' policy.
AnswerD

Wrapping the HTTP call in a try block with a retry policy lets Workflows re-execute that step on transient errors, applying exponential backoff automatically. This satisfies the requirement of up to 5 retries on the specific request without affecting other steps in the orchestration.

Why this answer

Workflows provides a try/retry block where you can specify a retry policy with max_retries and a backoff (initial delay, multiplier, max delay), which is exactly the mechanism for retrying a transient HTTP failure up to 5 times with exponential backoff. The retry policy is attached to the try block and applies to the steps inside it.

Exam trap

GCP-ADP often tests the misconception that a loop or if-statement can implement retry with backoff — only the try/retry block provides native exponential backoff and retry semantics.

How to eliminate wrong answers

Option A is wrong because a loop with a counter manually re-implements retry logic and does not provide built-in exponential backoff or integration with Workflows' error semantics. Option B is wrong because an if statement checking for 500 status codes only branches on the response — it does not retry the call or apply backoff. Option C is wrong because a global exception handler catches errors at the end of the workflow but does not retry the specific failing step with a backoff policy.

133
MCQmedium

You are orchestrating a data pipeline in Cloud Composer 2. A task in your DAG downloads a large dataset from Cloud Storage and can take up to 45 minutes to complete, but it occasionally fails and needs to be retried. You want the task to automatically retry up to 3 times with a 5-minute delay between attempts. Which Airflow task parameter should you configure to achieve this?

A.sla=timedelta(minutes=5), retries=3
B.retries=3, retry_delay=timedelta(minutes=5)
C.execution_timeout=timedelta(minutes=45), retries=3
D.retry_exponential_backoff=True, max_retry_delay=timedelta(minutes=5)
AnswerB

The retries parameter specifies the number of retry attempts, and retry_delay defines the wait time between retries. Setting retries=3 and retry_delay=timedelta(minutes=5) ensures the task retries up to three times with a five-minute delay, matching the requirement exactly.

Why this answer

To configure automatic retries with a specific delay, you must set both the retries and retry_delay parameters on the task. The retries parameter controls how many times the task will be retried after failure, and retry_delay specifies the time to wait between attempts. Using retries=3 and retry_delay=timedelta(minutes=5) directly satisfies the requirement.

Exam trap

The trap here is assuming that setting retries alone is sufficient, but without explicitly setting retry_delay, the default delay (often 5 minutes) is used, which may not match the required delay if defaults are changed.

134
MCQmedium

A data analyst is building a Looker Studio report connected to a BigQuery table. The report needs to display data for the last 30 days, but the underlying table is updated daily at midnight. Which approach ensures the report always shows the most recent 30 days without manual intervention?

A.Create a date range dimension in the report and set a default date range of 'Last 30 days'.
B.Add a filter to the report that explicitly selects the start and end dates for the current month.
C.Use a BigQuery scheduled query to materialize the last 30 days into a new table and connect the report to that table.
D.Create a calculated field that subtracts 30 days from the current date and use it as a filter.
AnswerA

Setting a default date range of 'Last 30 days' on a date dimension makes the report automatically filter data relative to the current date each time it loads. Since the underlying table is updated daily, the report will always reflect the most recent 30 days without any manual changes. This is the standard, dynamic solution in Looker Studio.

Why this answer

The requirement is for a report that dynamically shows the last 30 days without manual intervention. Looker Studio's date range dimension feature allows setting a default range like 'Last 30 days', which recalculates based on the current date each time the report is viewed. This leverages built-in functionality and ensures the report stays current as the BigQuery table updates daily.

Exam trap

The trap here is thinking that a custom calculated field or a scheduled query is necessary to achieve dynamic date filtering, when Looker Studio provides a native date range control that handles this automatically.

135
MCQeasy

You need to grant a data analyst read-only access to a specific BigQuery dataset. The analyst should be able to query tables but must not be able to modify data or view other datasets in the project. Which IAM role should you grant on the dataset?

A.roles/bigquery.dataEditor
B.roles/bigquery.user
C.roles/bigquery.dataViewer
D.roles/bigquery.metadataViewer
AnswerC

The BigQuery Data Viewer role (roles/bigquery.dataViewer) grants read-only access to data and metadata within a dataset. It allows the analyst to query tables and view schemas but not modify data or access other datasets. This role is the least privilege needed for read-only query access.

Why this answer

Granting roles/bigquery.dataViewer on the dataset provides read-only access to the data and metadata, allowing the analyst to query tables without modification rights. It is the least privilege role that meets the requirement and can be scoped to a specific dataset, preventing access to other datasets in the project.

Exam trap

The trap here is confusing roles that grant query job execution (like roles/bigquery.user) with roles that grant data access, leading to either insufficient permissions or over-provisioning.

136
Multi-Selecthard

You are designing a BigQuery table for a fleet of IoT devices that emit one reading per second. The table will hold years of data, and most queries filter by device identifier and a time range. You want to reduce the bytes scanned by these queries and control long-term storage cost. (Choose two.)

Select 2 answers
A.Enable a customer-managed encryption key on the table to reduce storage cost.
B.Create a materialized view that aggregates readings per device per hour and query only the view.
C.Set the table's default expiration to 30 days so older data is deleted automatically.
D.Cluster the table on the device identifier column.
E.Partition the table by the event timestamp column using time-unit partitioning.
AnswersD, E

Clustering sorts data within each partition by the clustered column, so filters on device identifier can skip blocks that do not match. Combined with timestamp partitioning, this matches the common query pattern of device plus time range and further reduces bytes scanned.

Why this answer

Partitioning by the event timestamp and clustering by device identifier align the physical layout of the table with the dominant query pattern of filtering by device and time range. Together they let BigQuery prune partitions and skip blocks, cutting bytes scanned and cost, while still retaining years of data.

Exam trap

The trap here is treating storage-cost controls like table expiration or encryption as substitutes for query scan reduction.

137
Multi-Selecthard

You are designing a Looker Studio report for a sales team. The report must allow users to filter data by region and product category, and also drill down from country to city. Which two features should you implement to meet these requirements? (Choose two.)

Select 2 answers
A.Enable drill-down on a geo chart by adding a hierarchy of country and city dimensions, and set the chart to allow drill-down.
B.Add a drop-down control for region and another for product category, and set them to apply to all charts on the page.
C.Use a blend to combine region and product category data, and add a filter control for the blended data source.
D.Add a date range control and a dimension filter for region, and set the chart to display city-level data by default.
E.Create a parameter for region and product category, and use it in calculated fields to filter the data.
AnswersA, B

Drill-down functionality allows users to click on a data point (e.g., a country) to see more detailed data (e.g., cities within that country). By configuring a geo chart with a hierarchy of country and city, and enabling drill-down, users can navigate from a high-level view to a detailed view. This directly satisfies the drill-down requirement.

Why this answer

To filter by region and product category, drop-down controls are the standard interactive elements. To drill down from country to city, a geo chart with a drill-down hierarchy is required. These two features together provide the necessary interactivity and detail.

The other options either use less appropriate mechanisms (parameters, blends) or do not address both requirements.

Exam trap

The trap here is confusing parameters with filter controls; parameters are for input, not for interactive filtering, and they don't provide drill-down.

138
Multi-Selecteasy

Which TWO are common causes of Dataflow pipeline failures?

Select 2 answers
A.Too much storage
B.Bad input data
C.Incorrect configuration
D.Fast network speeds
E.Cloud console downtime
AnswersB, C

Malformed or unexpected records break parsing and schema validation inside the pipeline, causing exceptions that halt processing. Dataflow's DoFn code cannot coerce corrupt payloads, so a single bad element can fail the bundle and retry indefinitely. This directly satisfies the stem's requirement by naming a common, recurring cause of pipeline failure.

Why this answer

Bad input data (B) is a common cause of Dataflow pipeline failures because malformed records, schema mismatches, or unexpected nulls can trigger exceptions in DoFn processing or cause parse errors in sources like BigQuery or Pub/Sub, failing the pipeline. Incorrect configuration (C) is also a frequent cause, as issues such as wrong worker machine types, insufficient maxNumWorkers, missing tempLocation/stagingLocation, or incorrect IAM roles prevent the job from launching or cause runtime errors. Too much storage (A) is not a typical failure cause since Dataflow scales with Cloud Storage and Persistent Disk, and storage capacity is generally elastic.

Fast network speeds (D) are beneficial, not harmful, to pipeline execution. Cloud console downtime (E) does not stop Dataflow jobs, which run on managed Compute Engine workers independent of the console UI.

Exam trap

GCP-ADP often tests whether candidates confuse resource sizing with correctness — candidates may pick 'too much storage' or 'console downtime' as failure causes when the real culprits are data quality and configuration errors.

139
Multi-Selecthard

You are designing a data ingestion pipeline that uses Pub/Sub to capture real-time events. You need to ensure that messages are processed exactly once and in order. Which two features should you configure? (Choose two.)

Select 2 answers
A.Increase the number of subscriber clients
B.Use exactly-once delivery on the subscription
C.Enable message ordering on the subscription
D.Create a dead-letter topic for failed messages
E.Set the acknowledgment deadline to 10 minutes
AnswersB, C

Exactly-once delivery ensures that each message is delivered and processed only once, even in the face of retries or failures. This is critical for scenarios where duplicate processing would cause incorrect results. It works in conjunction with message ordering to provide both guarantees.

Why this answer

To achieve exactly-once and ordered processing in Pub/Sub, you must enable both message ordering and exactly-once delivery on the subscription. Message ordering ensures sequence per ordering key, while exactly-once delivery prevents duplicates. Other options like dead-letter topics or ack deadlines address different concerns and do not provide these guarantees.

Exam trap

The trap here is confusing error handling or performance tuning features with delivery guarantees, such as thinking a dead-letter topic or longer ack deadline ensures exactly-once processing.

140
Multi-Selecthard

You need to migrate legacy data to a Dataplex Lake. Which THREE of the following should you consider for a successful migration? (Choose three)

Select 3 answers
A.Define a clear zone strategy
B.Audit existing IAM permissions for the source data
C.Disable all data quality checks
D.Manually copy every file using scp
E.Enable discovery to inventory existing data
AnswersA, B, E

A zone strategy maps raw, curated and analytics zones before migration, so assets land in the correct Dataplex zone with appropriate security and discovery settings. This satisfies the stem's requirement for a migration consideration that prevents later restructuring.

Why this answer

Option A is correct because a Dataplex Lake is organized into zones (raw, curated, and analytics) that map to data maturity and access patterns, so defining a clear zone strategy ensures legacy data lands in the appropriate zone with the right governance and lifecycle policies. Option B is correct because auditing existing IAM permissions on the source data is essential to map legacy access controls to Dataplex and Cloud IAM roles, preventing over-privileged or broken access after migration. Option E is correct because enabling Dataplex discovery automatically scans and inventories existing data assets (e.g., in Cloud Storage or BigQuery), giving you a catalog of what must be migrated and how it is structured.

Option C is wrong because disabling data quality checks removes validation that migrated data is complete and accurate, which is a migration risk rather than a best practice. Option D is wrong because manually copying every file with scp is not a scalable or supported approach for migrating legacy data into a Dataplex Lake; managed transfer services or Dataplex/Cloud Storage tooling should be used instead.

Exam trap

GCP-ADP often tests the misconception that migration means copying files or skipping quality checks, when the exam expects governance-first steps like zone strategy, IAM audit, and discovery.

141
MCQhard

You are configuring a Dataplex asset that points to a GCS bucket. You want to ensure that only files in a specific folder are included in the asset. How do you specify this?

A.Define a SQL view on the folder
B.Use an IAM condition on the bucket
C.Specify a path filter in the asset definition
D.Move the files to a separate bucket
AnswerC

Dataplex assets support a path filter expression, such as a wildcard or prefix, that restricts discovery to matching objects under the bucket. This satisfies the requirement to include only files in a specific folder within the asset.

Why this answer

In Dataplex, when defining a zone or asset that points to a Cloud Storage bucket, you can specify a path filter (a prefix or folder path) in the asset definition to limit discovery and inclusion to only files under that folder. This is the native mechanism for scoping a Dataplex asset to a subset of a bucket.

Exam trap

GCP-ADP often tests the misconception that IAM conditions or separate buckets are required to scope Dataplex assets, when the built-in path filter is the correct, lightweight answer.

How to eliminate wrong answers

Option A is wrong because a SQL view operates on structured data in BigQuery, not on GCS object paths, and cannot filter files for a Dataplex asset. Option B is wrong because an IAM condition controls access permissions, not the set of files included in a Dataplex asset's discovery. Option D is wrong because moving files to a separate bucket is an operational workaround, not the configuration method for specifying a folder within an asset.

142
MCQhard

You have an automated pipeline that deletes files in a GCS bucket every hour. Dataplex shows the asset as 'Out of sync'. Why?

A.The lake is locked for maintenance
B.The user does not have permission to delete files
C.Discovery needs to rescan to update metadata
D.The file deletion is violating the Dataplex policy
AnswerC

Dataplex metadata is a cached snapshot, not a live view. Hourly deletions change the bucket's contents without triggering discovery, so the asset's stored schema and file list drift from reality until the next rescan runs and refreshes them.

Why this answer

Dataplex Discovery periodically crawls GCS buckets to extract metadata and update the Dataplex Catalog. When files are deleted outside of Dataplex (e.g., by an automated pipeline), the cataloged metadata becomes stale, causing the asset to be marked 'Out of sync'. The correct resolution is to trigger a new discovery scan, which re-crawls the bucket and synchronizes the metadata with the current state.

Thus, option C is correct.

Exam trap

GCP-ADP often tests the misconception that 'Out of sync' indicates a permission or policy issue, when it actually signals metadata staleness requiring a discovery rescan.

How to eliminate wrong answers

Option A is wrong because lake maintenance locks are not a standard Dataplex feature and would not cause an 'Out of sync' status; maintenance typically results in a different error or unavailability. Option B is wrong because permission issues would prevent the deletion itself, not cause the asset to be out of sync; the pipeline is successfully deleting files, so permissions are not the problem. Option D is wrong because Dataplex policies govern data access and lifecycle, not file deletion operations; deleting files does not violate a policy but rather changes the underlying data, leading to metadata drift.

143
MCQhard

A data analyst is using BigQuery ML to create a linear regression model to predict customer lifetime value based on historical data. After training the model, they want to evaluate its performance. Which BigQuery ML function should they use to get evaluation metrics such as R-squared and mean absolute error?

A.ML.TRAINING_INFO
B.ML.PREDICT
C.ML.FEATURE_INFO
D.ML.EVALUATE
AnswerD

ML.EVALUATE is the correct function to assess the performance of a trained model. For linear regression, it returns metrics like R-squared, mean absolute error, and mean squared error. It compares predicted values against actual values in a dataset, providing a quantitative evaluation of model accuracy.

Why this answer

To evaluate a BigQuery ML model, ML.EVALUATE is the appropriate function. It computes standard metrics for the model type, such as R-squared and mean absolute error for linear regression. ML.PREDICT generates predictions, ML.TRAINING_INFO shows training progress, and ML.FEATURE_INFO describes input features, none of which provide the required evaluation metrics.

Exam trap

The trap here is confusing prediction with evaluation, leading to the selection of ML.PREDICT when metrics are needed.

144
MCQeasy

You need to set up an alert when a GCS bucket exceeds a certain size. Which tool do you use?

A.Cloud Build
B.IAM
C.Cloud Logging
D.Cloud Monitoring
AnswerD

Cloud Monitoring ingests Cloud Storage metrics such as `storage.googleapis.com/storage/total_bytes`, letting you build an alerting policy on a threshold condition. This directly satisfies the stem's requirement to trigger when bucket size exceeds a set limit, since the metric is evaluated per bucket and fires notifications automatically.

Why this answer

Cloud Monitoring is the GCP service responsible for collecting metrics, creating alerting policies, and notifying on threshold breaches. GCS automatically exports storage metrics (such as storage.googleapis.com/storage/total_bytes) to Cloud Monitoring, so you can build an alerting policy on bucket size and route it to email, Pub/Sub, or PagerDuty. This is the canonical way to alert on resource metrics in GCP.

Exam trap

GCP-ADP often tests the boundary between Cloud Logging and Cloud Monitoring — candidates see 'alert' and pick Cloud Logging, forgetting that metric-based alerts belong to Cloud Monitoring while log-based alerts belong to Logging.

How to eliminate wrong answers

Option A is wrong because Cloud Build is a CI/CD service for building and deploying artifacts, not for monitoring metrics or firing alerts. Option B is wrong because IAM controls identity and access permissions; it has no metric collection or alerting capability. Option C is wrong because Cloud Logging captures and queries log entries; while you can create log-based alerts, bucket size is a metric, not a log event, so Cloud Monitoring is the correct tool.

145
MCQmedium

Your team runs a Cloud Composer 2 environment where several DAGs import a shared internal Python library. After a library update, tasks begin failing with ModuleNotFoundError across all workers. You need the library to be installed automatically on every worker and scheduler node, including after autoscaling events. What should you do?

A.SSH into each worker pod and run pip install manually, then restart the Airflow scheduler.
B.Install the library using a PyPI package specified in the environment's Python dependencies configuration.
C.Upload the library as a zip file to a Cloud Storage bucket and reference it in the DAG's default_args.
D.Add the library to the dags/ folder and import it with a relative path from each DAG file.
AnswerB

Cloud Composer lets you declare PyPI packages as environment Python dependencies; these are installed on the scheduler, workers, and web server, and new worker pods created during autoscaling inherit the same environment, so the shared library is always available.

Why this answer

Declaring the shared library as a PyPI package in the environment's Python dependencies ensures it is installed consistently on the scheduler, web server, and all workers, including those created by autoscaling. Manual installs, DAG-folder copies, and Cloud Storage zip references do not integrate with the managed environment's package lifecycle, so they fail under scaling and recreation events.

Exam trap

The trap here is assuming that anything placed in the dags/ folder is importable as an installed Python package on every worker.

146
Multi-Selecthard

A data analyst must present BigQuery results to executives in a way that lets them explore trends by region and product without writing SQL. The team is standardizing on Google Cloud tools and wants the presentation layer to query BigQuery directly. Which two Google Cloud components should the analyst combine to meet these requirements? (Choose two.)

Select 2 answers
A.BigQuery BI Engine to accelerate the queries that back the dashboard.
B.Looker Studio with a BigQuery data source and interactive filter controls.
C.A Looker Studio report built on a manually uploaded CSV exported from BigQuery.
D.Cloud Dataflow to stream the results into a Pub/Sub topic for executives.
E.Cloud SQL as the presentation database, with Looker Studio reading from it.
AnswersA, B

BI Engine provides an in-memory analysis layer that accelerates BigQuery queries used by dashboards, keeping interactive filtering responsive for executives. Combined with a Looker Studio report over BigQuery, it satisfies the performance side of the requirement while preserving the direct query path to BigQuery data.

Why this answer

Looker Studio over BigQuery gives executives interactive, no-SQL filtering by region and product while querying BigQuery directly, and BigQuery BI Engine accelerates those dashboard queries for responsiveness. CSV exports break the live connection, while Cloud SQL and Dataflow with Pub/Sub are not presentation layers suited to executive exploration.

Exam trap

The trap here is pairing a legitimate visualization tool with an unrelated pipeline service, when the scenario actually calls for a query-acceleration layer alongside the dashboard.

147
MCQhard

You need to audit who accessed sensitive data in a Dataplex Lake. Which service should you monitor to see access logs for these data assets?

A.Dataplex Task Logs
B.Cloud Audit Logs
C.BigQuery Query Logs
D.Data Catalog history
AnswerB

Cloud Audit Logs records Data Access audit entries for Dataplex lake assets, capturing who read or wrote sensitive data. Enabling Data Access logs on the relevant services satisfies the audit requirement, since Admin Activity logs alone omit data reads.

Why this answer

Cloud Audit Logs, specifically Data Access audit logs, record all access to Dataplex Lake data assets, including who accessed what and when. Dataplex integrates with Cloud Audit Logs to provide a unified audit trail for data access across its assets. This is the correct service to monitor for auditing sensitive data access.

Exam trap

GCP-ADP often tests the distinction between service-specific logs (e.g., BigQuery Query Logs) and centralized audit logs (Cloud Audit Logs) for access auditing, causing candidates to overlook Cloud Audit Logs as the primary source.

How to eliminate wrong answers

Option A is wrong because Dataplex Task Logs capture logs from Dataplex tasks (e.g., discovery, quality), not user access to data assets. Option C is wrong because BigQuery Query Logs only cover queries executed in BigQuery, not access to Dataplex Lake assets across other storage systems. Option D is wrong because Data Catalog history tracks metadata changes, not data access events.

148
MCQmedium

You are processing streaming data in Dataflow and notice 'stuck' elements causing pipeline latency. Which feature helps debug this?

A.Dataprep Jobs view
B.Dataflow Monitoring UI
C.Cloud Logging
D.Cloud Trace
AnswerB

The Dataflow Monitoring UI surfaces per-stage watermarks, system lag and backlog metrics, exposing exactly where elements stall within the pipeline. Unlike logs alone, it visualises streaming progress against the constraint in the stem — diagnosing stuck elements and latency — letting you pinpoint the bottleneck stage directly.

Why this answer

The Dataflow Monitoring UI provides detailed visibility into pipeline execution, including per-stage metrics, watermarks, and the ability to identify stuck or slow elements causing latency. It surfaces system lag, data freshness, and hot keys that indicate bottlenecks. This makes it the right tool for debugging streaming pipeline latency.

Exam trap

The trap is assuming general-purpose logging or tracing tools (Cloud Logging, Cloud Trace) can diagnose Dataflow-specific pipeline issues, when only the Dataflow Monitoring UI exposes stage-level streaming metrics like watermarks and system lag.

How to eliminate wrong answers

Option A is wrong because Dataprep Jobs view shows data preparation job status, not Dataflow streaming pipeline internals or stuck elements. Option C is wrong because Cloud Logging captures logs and errors but does not provide the real-time pipeline graph and per-stage latency metrics needed to diagnose stuck elements. Option D is wrong because Cloud Trace is for distributed tracing of request latency in applications, not for analyzing Dataflow pipeline stage-level bottlenecks.

149
MCQeasy

A data engineer needs to load a 500 GB CSV file from a Cloud Storage bucket into a BigQuery table once per day. The CSV has a header row and uses comma delimiters. The engineer wants the simplest managed approach that requires no code and handles schema autodetection. What should the engineer use?

A.BigQuery Data Transfer Service with a Cloud Storage transfer configuration
B.Cloud Dataproc with a PySpark job that reads the CSV from Cloud Storage and writes to BigQuery
C.bq load with the --autodetect flag executed from a cron job on a Compute Engine VM
D.Cloud Dataflow with a custom Apache Beam pipeline using TextIO and BigQueryIO
AnswerA

BigQuery Data Transfer Service supports Cloud Storage as a source and can load CSV files on a recurring schedule. It provides schema autodetection, header row handling, and requires no code, matching the requirement for a simple managed daily load of a 500 GB CSV file.

Why this answer

BigQuery Data Transfer Service is the managed, no-code option for scheduled loads from Cloud Storage into BigQuery. It supports CSV with headers, autodetects schema, and runs on a schedule without requiring a VM, cluster, or custom pipeline code. The other options all require managing infrastructure or writing code.

Exam trap

The trap here is assuming that any tool capable of loading CSV data satisfies a no-code managed requirement, when self-managed VMs, clusters, or custom pipelines introduce operational overhead the scenario explicitly excludes.

150
Multi-Selecthard

A data engineer is building a Looker Studio report connected to a BigQuery table. The report must allow viewers to dynamically change the date range and filter data by region without editing the report. The engineer wants to add interactive controls. Which two components should be added to the report to meet these requirements? (Choose two.)

Select 2 answers
A.Calculated field
B.Scorecard with conditional formatting
C.Drop-down list control
D.Date range control
E.Data blending
AnswersC, D

A drop-down list control lets viewers select one or more values from a dimension, such as region, to filter the data displayed in charts. This meets the requirement to filter by region dynamically. It is a common interactive control in Looker Studio and can be linked to multiple charts.

Why this answer

To enable viewers to change the date range and filter by region without editing the report, interactive controls are needed. A date range control provides a calendar picker for date filtering, and a drop-down list control allows selection of dimension values like region. Calculated fields, scorecards, and data blending are not interactive controls and do not fulfill the dynamic filtering requirements.

Exam trap

The trap here is assuming that any report element that manipulates data can serve as an interactive control, when only specific control components provide viewer-driven filtering.

Page 1

Page 2 of 4

Page 3

All pages