Courseiva

CCNA Data Preparation And Ingestion Questions

75 of 82 questions · Page 1/2 · Data Preparation And Ingestion topic · Answers revealed

1
Multi-Selectmedium

Which TWO of the following are common Dataflow pipeline patterns?

Select 2 answers
A.Streaming to BigQuery
B.UI-based data drag-drop
C.Batch processing files from GCS
D.Direct database connection
E.Cloud Function execution
AnswersA, C

Streaming to BigQuery is a canonical Dataflow pattern: an unbounded source feeds a pipeline that writes continuously into BigQuery, typically with windowing and streaming inserts. It matches the stem's request for common Dataflow pipeline patterns.

Why this answer

Option A (Streaming to BigQuery) is correct because a canonical Dataflow pattern is reading unbounded data from a source such as Pub/Sub and writing it into BigQuery for near-real-time analytics, typically using the BigQueryIO connector with streaming inserts or Storage Write API. Option C (Batch processing files from GCS) is correct because another standard Dataflow pattern is batch ingestion of files stored in Cloud Storage, reading them with TextIO/AvroIO/ParquetIO and transforming them before loading to a sink such as BigQuery or GCS. The remaining options are not Dataflow pipeline patterns: B (UI-based data drag-drop) describes a visual ETL tool like Cloud Data Fusion or DataPrep, not Dataflow's Apache Beam programming model; D (Direct database connection) is not a typical Dataflow pattern since Dataflow sources/sinks are Beam I/O connectors rather than direct JDBC-style database connections; and E (Cloud Function execution) is an event-driven serverless compute service, not a Dataflow pipeline pattern.

Exam trap

GCP-ADP often tests whether candidates confuse Dataflow (code-based Beam pipelines) with visual ETL tools like Data Fusion — the trap is selecting 'UI-based drag-drop' as a Dataflow pattern.

2
MCQmedium

Your team stores daily clickstream data as newline-delimited JSON files in a Cloud Storage bucket. The ingestion pipeline must load each day's files into BigQuery, and the JSON structure occasionally gains new top-level fields between days. You want BigQuery to infer the schema automatically at load time and add any newly observed columns without failing the load. Which load configuration should you use?

A.Create an external table over the Cloud Storage path and query it directly instead of loading the data.
B.Load the files with the schema update option enabled so BigQuery can add new fields to the destination table.
C.Preprocess the JSON files with a Dataflow pipeline that flattens all nested fields into a fixed schema before loading.
D.Load the files with autodetect enabled and no schema update options, letting the job replace the destination table each day.
AnswerB

Enabling schema update options on the load job lets BigQuery extend the existing destination table schema with new fields discovered in the source data. Because the files are newline-delimited JSON and can gain top-level fields, this avoids load failures while preserving previously loaded rows. It matches the requirement to infer and evolve the schema automatically, though it only adds columns and does not remove or change existing ones.

Why this answer

The load job must both infer the incoming JSON schema and extend the existing BigQuery table as new top-level fields appear. Enabling schema update options on the load configuration lets BigQuery add those columns automatically, so daily loads continue without failure. Autodetect alone only covers the current file set, external tables do not materialize evolving schemas, and a fixed-schema Dataflow transform cannot adapt without manual updates.

Exam trap

The trap here is assuming that autodetect by itself allows an existing destination table to gain new columns, when schema update options are separately required for that evolution.

3
MCQhard

You are building a Dataflow pipeline that reads from Pub/Sub and writes to BigQuery. Some messages contain malformed JSON that causes the pipeline to fail repeatedly. You want the pipeline to continue processing valid messages and send the bad records to a dead-letter location for later analysis. Which Dataflow feature should you use?

A.A dead-letter queue configured in the Pub/Sub subscription
B.A Cloud Logging sink that exports error logs to Cloud Storage
C.A side output with a tagged PCollection for failed records
D.A retry policy on the BigQueryIO write transform
AnswerC

Dataflow supports side outputs, which let a DoFn emit records to a separate PCollection based on a tag. By catching parse exceptions and emitting the bad records to a tagged side output, the pipeline can continue processing valid messages while routing failures to a dead-letter destination. This directly satisfies the requirement to isolate malformed records without stopping the pipeline.

Why this answer

Side outputs in Apache Beam and Dataflow allow a DoFn to emit elements to additional PCollections using tags. By wrapping the JSON parsing logic in a try/catch and emitting failures to a tagged side output, the pipeline can continue processing valid messages and write the bad records to a separate sink such as Cloud Storage or BigQuery. Pub/Sub dead-letter topics, BigQueryIO retries, and logging sinks do not provide in-pipeline routing of malformed records.

Exam trap

The trap here is assuming that a Pub/Sub dead-letter topic will capture records that fail during Dataflow processing, when it only handles delivery failures.

4
MCQmedium

You are designing a streaming pipeline in Dataflow. You need to ensure that data is processed in the order it was generated, even if it arrives late. What do you use?

A.Processing time triggers
B.Watermarks and Allowed Lateness
C.Dataflow shuffle service
D.Fixed windows only
AnswerB

Watermarks track event-time progress and trigger window emission, while Allowed Lateness lets the pipeline retain window state and reprocess records arriving after the watermark passes. Together they satisfy the ordering and late-arrival constraint in event-time streaming.

Why this answer

Watermarks track the progress of event time in a streaming pipeline, and Allowed Lateness defines how long after the watermark passes a window will still accept late-arriving elements. Together they let Dataflow emit correct, event-time-ordered results while tolerating out-of-order arrivals. Without allowed lateness, late data is dropped once the watermark advances past the window.

Exam trap

GCP-ADP often tests whether candidates conflate processing time with event time — the trap is picking processing-time triggers when the requirement explicitly says 'order it was generated.'

How to eliminate wrong answers

Option A is wrong because processing-time triggers fire based on wall-clock arrival time, which ignores the event timestamps and therefore cannot guarantee event-time ordering. Option C is wrong because the Dataflow Shuffle service is a backend execution optimization for batch/streaming shuffles — it has nothing to do with ordering semantics. Option D is wrong because fixed windows only define how elements are grouped; they do not by themselves handle late data or enforce event-time ordering without watermarks and allowed lateness.

5
MCQhard

You are designing a Dataflow streaming pipeline that reads from Pub/Sub and writes to BigQuery. The pipeline must handle late-arriving data and you want to emit correct results for each 5-minute window even when events arrive up to 10 minutes late. You also want to minimize cost by not keeping windows open indefinitely. Which combination of Dataflow features should you use?

A.Use fixed windows with a 5-minute size and set an allowed lateness of 10 minutes with accumulation mode DISCARDING.
B.Use session windows with a 5-minute gap duration and set an allowed lateness of 10 minutes with accumulation mode ACCUMULATING.
C.Use fixed windows with a 5-minute size, set an allowed lateness of 10 minutes, and use accumulation mode ACCUMULATING.
D.Use sliding windows with a 5-minute size and a 1-minute period, and set an allowed lateness of 0 minutes.
AnswerC

Fixed windows align with the 5-minute requirement. Allowed lateness of 10 minutes lets the pipeline accept events that arrive after the watermark passes, and ACCUMULATING mode re-emits the updated aggregate including late data. Together these features produce correct per-window results for late arrivals while allowing the pipeline to eventually discard state once the lateness horizon passes, controlling cost.

Why this answer

Fixed windows of 5 minutes provide the required periodic aggregation. Allowed lateness of 10 minutes allows the pipeline to accept events that arrive after the watermark, and ACCUMULATING mode ensures the re-emitted results include those late events. This combination gives correct per-window results while allowing state to be garbage-collected after the lateness horizon, which balances correctness and cost.

Exam trap

The trap here is choosing DISCARDING accumulation mode or zero allowed lateness, which silently drops late data and produces incomplete window results even though the windowing type looks correct.

6
MCQeasy

What is the primary benefit of using partitioned tables in BigQuery?

A.Data security
B.Performance and cost reduction
C.Increased storage capacity
D.Data integrity
AnswerB

Partitioning physically divides a table by a column such as date, so queries filtering on that column scan only the relevant partitions rather than the whole table. This reduces bytes processed, directly lowering on-demand query cost and improving performance — satisfying the stem's requirement for the primary benefit.

Why this answer

Partitioned tables in BigQuery split data into segments based on a column (e.g., date, timestamp, integer range), so queries with filters on the partition column scan only relevant partitions. This dramatically reduces bytes processed, improving query performance and lowering on-demand costs, which are billed per byte scanned.

Exam trap

GCP-ADP often tests the primary benefit of partitioning — candidates pick 'increased storage capacity' or 'data security' because they sound plausible, but the core benefit is query performance and cost reduction via partition pruning.

How to eliminate wrong answers

Option A is wrong because partitioning does not provide security — access control is handled by IAM, column-level security, and row-level security policies. Option C is wrong because partitioning does not increase storage capacity; BigQuery tables scale to petabytes regardless of partitioning. Option D is wrong because data integrity is enforced by schema constraints and ACID semantics in BigQuery, not by partitioning.

7
MCQeasy

You need to provide temporary access to a GCS file for a third party. What should you use?

A.Public access
B.Bucket Policy
C.Signed URL
D.IAM Role
AnswerC

A signed URL embeds a cryptographic signature and expiry in the link itself, granting time-limited read or write access to a specific object without requiring the third party to hold IAM credentials or a Google account. This satisfies the temporary-access constraint.

Why this answer

A signed URL provides temporary, time-limited access to a specific Cloud Storage object, granting the bearer permission to perform a specific action (e.g., GET) for a limited duration. This is ideal for sharing a file with a third party without granting them a Google account or IAM role. Signed URLs are generated using a service account key or by a user with sufficient permissions, and they include authentication information in the query string.

Exam trap

The trap is confusing temporary access with permanent access methods like IAM roles or public access, or thinking that a bucket policy can provide time-limited access.

How to eliminate wrong answers

Option A is wrong because public access makes the object accessible to anyone on the internet indefinitely, which is not temporary and poses a security risk. Option B is wrong because a bucket policy (or IAM policy) grants persistent access to a bucket or object to specific principals, not temporary access to a third party without an account. Option D is wrong because an IAM role grants long-term permissions to a user or service account, not a temporary, time-limited access token for a specific object.

8
MCQeasy

How do you restrict access to a specific GCS bucket to only members of a specific team?

A.Apply an IAM policy to the bucket
B.Use file-level permissions
C.Use project-level roles only
D.Use public access
AnswerA

Bucket-level IAM policies bind roles such as Storage Object Viewer to specific principals, so only granted team members can access objects. This satisfies the stem's constraint of restricting a single bucket to a named team, since IAM evaluates the binding per bucket rather than project-wide.

Why this answer

Bucket-level IAM policies are the native GCS mechanism for granting access to specific principals. By binding roles such as roles/storage.objectViewer to a Google Group representing the team, only members of that group inherit access to the bucket. This enforces least privilege at the resource boundary without affecting other buckets in the project.

Exam trap

The trap here is confusing GCS with a filesystem and assuming file-level permissions exist, or assuming project-level roles are sufficient — both lead candidates away from the correct bucket-scoped IAM answer.

How to eliminate wrong answers

Option B is wrong because GCS is an object store and does not support POSIX-style file-level permissions; access is governed by IAM at bucket, object, or project scope. Option C is wrong because project-level roles grant access across all buckets in the project, violating the requirement to restrict access to a single bucket. Option D is wrong because public access (allUsers/allAuthenticatedUsers) grants access to anyone, which is the opposite of restricting access to a specific team.

9
MCQeasy

You need to load a large CSV file from Cloud Storage into BigQuery. The file has a header row and uses comma delimiters, but the data contains commas within quoted fields. Which BigQuery load option should you use to correctly parse the file?

A.Use the default CSV load with the appropriate schema and let BigQuery handle quoted fields
B.Set the field delimiter to a pipe character (|)
C.Set the Quote character to a single quote (')
D.Enable the AllowQuotedNewlines option
AnswerA

BigQuery's CSV loader automatically handles quoted fields containing commas when the schema is provided or autodetected. By default, it respects double quotes as field enclosures, so embedded commas within quotes are parsed correctly without additional options.

Why this answer

BigQuery's CSV parser natively supports quoted fields, so commas inside double quotes are treated as part of the field value. Providing a schema or using autodetect ensures correct column mapping. No special options are needed for this common CSV scenario.

Exam trap

The trap here is overcomplicating the CSV parsing by changing delimiters or quote characters when BigQuery already handles quoted commas by default.

10
MCQhard

Your team needs to ingest data from an on-premises Oracle database into BigQuery with minimal latency and without writing code. The database is behind a firewall and cannot be accessed directly from the internet. You want to use a fully managed Google Cloud service. What should you use?

A.Cloud SQL for Oracle with federated queries
B.BigQuery Data Transfer Service with a VPN connection
C.Datastream with a private connectivity configuration
D.Cloud Data Fusion with the Oracle connector
AnswerC

Datastream is a serverless change data capture (CDC) and replication service that supports Oracle as a source and BigQuery as a destination. It can connect to on-premises databases securely using private connectivity such as VPN or Interconnect. It requires no code to set up and provides low-latency replication, making it ideal for this scenario.

Why this answer

Datastream is a fully managed, serverless change data capture and replication service that can connect to on-premises Oracle databases using private connectivity like VPN or Interconnect. It replicates data to BigQuery with low latency and requires no coding. Other options either lack Oracle support, require code, or are not fully managed for this purpose.

Exam trap

The trap here is confusing Cloud Data Fusion with Datastream; Data Fusion requires pipeline development, while Datastream is a no-code replication service.

11
MCQhard

You are designing a data ingestion pipeline that must handle late-arriving data in a streaming source. The data arrives with timestamps that may be up to 10 minutes behind the current time. You need to ensure that all data is processed correctly and that windowed aggregations include late data. Which Dataflow feature should you use?

A.Watermark triggers
B.Discarding mode
C.Allowed lateness
D.Processing time triggers
AnswerC

Allowed lateness specifies how long Dataflow should wait for late data after the watermark has passed the end of a window. By setting allowed lateness to 10 minutes, you ensure that data arriving up to 10 minutes late is still included in the window's aggregation. This is the correct mechanism to handle late-arriving data in streaming pipelines.

Why this answer

Allowed lateness is the Dataflow feature that specifies how long to wait for late data after the watermark passes the end of a window. Setting it to 10 minutes ensures that data arriving up to 10 minutes late is still processed and included in windowed aggregations. Other triggers and modes do not address late data.

Exam trap

The trap here is confusing watermark triggers with allowed lateness; watermark triggers determine when to emit results, but allowed lateness determines how long to keep windows open for late data.

12
MCQmedium

You are using Dataflow to process a stream of JSON messages from Pub/Sub. The messages contain a timestamp field, but the event time is sometimes delayed by up to 30 minutes. You need to handle these late-arriving events correctly. What should you configure in your pipeline?

A.Use a session window with a 30-minute gap
B.Set a fixed window of 1 hour
C.Enable a 30-minute allowed lateness on the window
D.Set the pipeline's default timeout to 30 minutes
AnswerC

Allowed lateness specifies how long after a window closes the pipeline will accept and process late data. Setting it to 30 minutes matches the maximum delay, ensuring that late events are included in the correct window. This is the standard way to handle out-of-order data in Dataflow.

Why this answer

To handle late-arriving events, you must set an allowed lateness on the window. This tells Dataflow to keep the window state open for a specified duration after the window's end, allowing late events to be processed and included in the correct aggregation. A 30-minute allowed lateness matches the maximum delay described.

Exam trap

The trap here is thinking that window size or session gaps automatically handle late data, but without allowed lateness, late events are discarded.

13
MCQmedium

You are using BigQuery and need to load data from an external file that is not in GCS. Which method is recommended?

A.Upload to GCS then BigQuery
B.Use Cloud Functions
C.Stream directly from the local machine
D.Use an external API
AnswerA

BigQuery load jobs read only from Cloud Storage or local upload, so external sources must first be staged in GCS. Uploading then loading uses the native, fastest ingestion path and satisfies the constraint that the file is not already in GCS.

Why this answer

The recommended method to load external data into BigQuery is to first upload the file to Google Cloud Storage, then use BigQuery's native load job to ingest it. This approach is reliable, scalable, and leverages BigQuery's optimized loading pipeline. It also allows for better error handling and supports various file formats.

Exam trap

The trap is thinking that BigQuery can directly ingest from local machines or external APIs, or that Cloud Functions is a primary data loading service.

How to eliminate wrong answers

Option B is wrong because Cloud Functions is a compute service, not a data loading method; while you could write a function to load data, it is not the recommended or direct method for loading external files into BigQuery. Option C is wrong because streaming directly from a local machine is not supported by BigQuery; you must use a supported ingestion method like load jobs or streaming inserts via API, but direct local streaming is not a feature. Option D is wrong because using an external API is not a recommended method for loading files; BigQuery does not directly pull from arbitrary APIs, and this would require custom code and is not a native loading mechanism.

14
Multi-Selectmedium

You are planning to ingest log data into Google Cloud. Which THREE of the following services support streaming ingestion?

Select 3 answers
A.BigQuery Storage Write API
B.Dataproc
C.Cloud Storage Transfer Service
D.Cloud Dataflow
E.Cloud Pub/Sub
AnswersA, D, E

BigQuery Storage Write API accepts continuous record streams over gRPC, committing rows with exactly-once semantics, so it satisfies the stem's streaming ingestion requirement rather than batch loading. It supports both real-time appends and transactional writes, making it suitable for pipelines needing low-latency ingestion into BigQuery tables.

Why this answer

BigQuery Storage Write API (A) is correct because it provides a gRPC-based streaming interface that lets applications write rows directly into BigQuery tables in real time, including exactly-once semantics via the default stream. Cloud Dataflow (D) is correct because it is a fully managed Apache Beam runner that supports streaming pipelines reading from sources such as Pub/Sub and writing to sinks like BigQuery. Cloud Pub/Sub (E) is correct because it is a globally distributed, real-time messaging service designed for streaming ingestion, delivering messages to subscribers with low latency and at-least-once delivery.

Dataproc (B) is not a streaming ingestion service; it is a managed Hadoop/Spark cluster platform, and while Spark Streaming can run on it, the service itself is not a streaming ingestion endpoint. Cloud Storage Transfer Service (C) is not correct because it performs batch transfers of data between object stores or from HTTP sources into Cloud Storage, not continuous streaming ingestion.

Exam trap

GCP-ADP often tests whether candidates distinguish batch from streaming services — the trap is selecting Dataproc or Storage Transfer Service because they move data, when the question specifically requires streaming ingestion.

15
Multi-Selecthard

Which THREE features does Dataprep provide?

Select 3 answers
A.Data profiling
B.Sampling
C.Direct database writes
D.Machine Learning model training
E.Data transformation
AnswersA, B, E

Dataprep's data profiling scans source data to compute column-level statistics such as value distributions, null counts and distinct counts, letting analysts assess quality before transformation. This satisfies the stem's requirement for a native Dataprep capability, since profiling is performed directly within the Dataprep by Trifacta interface without external tooling.

Why this answer

Dataprep provides data profiling (A), which automatically analyzes source data to surface schemas, data types, value distributions, and quality issues so users understand their datasets before building recipes. It also provides sampling (B), letting users preview and work with a subset of large datasets to design and test transformations quickly without processing the full volume. Data transformation (E) is a core Dataprep capability, offering a visual, serverless recipe interface (plus Wrangler-style transforms) to clean, standardize, join, and reshape data at scale.

Direct database writes (C) are not a Dataprep feature, since Dataprep outputs transformed data to destinations like Cloud Storage or BigQuery rather than writing directly back to source databases. Machine Learning model training (D) is not provided by Dataprep; that belongs to services such as BigQuery ML or Vertex AI, while Dataprep focuses on data preparation.

Exam trap

The trap here is confusing Dataprep's data preparation scope with broader data engineering or ML capabilities — candidates may select database writes or ML training because those sound like adjacent data tasks.

16
MCQeasy

Which tool is used to monitor the performance of your Dataflow pipelines?

A.Cloud Logging
B.BigQuery Console
C.Cloud Monitoring
D.Dataprep
AnswerC

Cloud Monitoring ingests Dataflow's native metrics — system lag, watermark delay and worker CPU — through the Cloud Dataflow integration, satisfying the requirement to track pipeline performance. Unlike Cloud Logging, which captures execution events, it exposes time-series dashboards and alerting policies on those streaming and batch metrics.

Why this answer

Cloud Monitoring is the GCP service that collects and visualizes operational metrics from Dataflow pipelines, including system lag, throughput, worker CPU/memory, and autoscaling behavior. Dataflow natively publishes these metrics to Cloud Monitoring, where you can build dashboards and alerting policies. Cloud Logging captures log entries (errors, debug output) rather than performance metrics, so it is not the monitoring tool.

Exam trap

GCP-ADP often tests the distinction between Cloud Logging (log events/errors) and Cloud Monitoring (metrics/performance), so candidates who conflate 'observability' with 'logging' pick Cloud Logging.

How to eliminate wrong answers

Option A is wrong because Cloud Logging is for ingesting, storing, and querying log entries (e.g., pipeline errors, worker messages), not for time-series performance metrics or dashboards. Option B is wrong because the BigQuery Console is a query/analysis UI for BigQuery datasets and has no visibility into Dataflow pipeline runtime metrics. Option D is wrong because Dataprep is a data-wrangling/ETL preparation tool that generates Dataflow jobs; it does not monitor running pipelines.

17
MCQmedium

You are loading a 4 TB compressed CSV file from Cloud Storage into BigQuery using a load job. The file has a header row and uses pipe delimiters. You need the load to complete as fast as possible and minimize cost. What should you do?

A.Load the file into a BigQuery external table and then run a CREATE TABLE AS SELECT statement to materialize it.
B.Use the bq load command with the --max_bad_records flag set to a high value to skip any malformed rows.
C.Use the BigQuery web UI to create a load job with autodetect schema and default settings.
D.Split the file into multiple smaller files (e.g., 100–500 MB each) in Cloud Storage, then run a single load job specifying the pipe delimiter and skipping the header row.
AnswerD

BigQuery load jobs parallelize across input files, so splitting the 4 TB file into many smaller files lets BigQuery read them concurrently, dramatically reducing load time. Specifying the pipe delimiter and skipping the header row ensures correct parsing. This is the recommended approach for large files and keeps costs low because you use the same load job capacity more efficiently. Compressed CSV is supported and splitting preserves the format.

Why this answer

BigQuery load jobs scale by reading multiple files in parallel. A single 4 TB file cannot be parallelized, so splitting it into many smaller files is the key to fast ingestion. Specifying the delimiter and header row ensures correct parsing.

This combination minimizes load time and uses BigQuery's load capacity efficiently, keeping costs lower than query-based alternatives.

Exam trap

The trap here is assuming that BigQuery automatically splits large files for parallel loading, when in fact parallelism is achieved by having multiple files.

18
MCQeasy

Which GCP tool provides a managed way to run Apache Airflow workflows?

A.Dataflow
B.Cloud Composer
C.Cloud Scheduler
D.Dataprep
AnswerB

Cloud Composer is Google Cloud's managed Apache Airflow service, provisioning the scheduler, web server, workers and metadata database while handling upgrades and scaling. This satisfies the stem's requirement for a managed way to run Airflow workflows, unlike self-managed Airflow on Compute Engine.

Why this answer

Cloud Composer is a fully managed workflow orchestration service built on Apache Airflow. It handles the provisioning, scaling, and maintenance of Airflow infrastructure, allowing you to author, schedule, and monitor workflows (DAGs) using Python. It integrates natively with other GCP services like BigQuery, Dataflow, and Cloud Storage, making it the go-to choice for orchestrating complex data pipelines.

Exam trap

GCP-ADP often tests the distinction between managed Airflow (Cloud Composer) and other data processing or scheduling services like Dataflow, Cloud Scheduler, and Dataprep, causing candidates to confuse orchestration with execution or simple scheduling.

How to eliminate wrong answers

Option A is wrong because Dataflow is a managed service for running Apache Beam pipelines, not Airflow; it focuses on data processing, not workflow orchestration. Option C is wrong because Cloud Scheduler is a cron-based job scheduler that triggers HTTP endpoints or Pub/Sub messages, but it does not provide workflow authoring, dependency management, or the rich orchestration features of Airflow. Option D is wrong because Dataprep is a data preparation tool for visual exploration and transformation, not a workflow orchestration service.

19
MCQeasy

You need to transfer files from an Amazon S3 bucket to GCS. What is the most efficient method?

A.Storage Transfer Service
B.Dataflow
C.gsutil rsync
D.Write a Python script
AnswerA

Storage Transfer Service performs server-side transfer directly between Amazon S3 and Cloud Storage, so data never traverses your local network or compute instances. This satisfies the stem's efficiency constraint by eliminating bandwidth bottlenecks and intermediate staging, while providing managed scheduling, retries and integrity verification for large-scale object migrations.

Why this answer

Storage Transfer Service is a fully managed Google Cloud service designed for high-performance, scalable transfers from Amazon S3 to Cloud Storage. It handles scheduling, retries, and data integrity checks, making it the most efficient method for this use case.

Exam trap

GCP-ADP often tests the misconception that any data movement tool can handle transfers efficiently, leading candidates to choose Dataflow or custom scripts over the purpose-built Storage Transfer Service.

How to eliminate wrong answers

Option B is wrong because Dataflow is a data processing service, not optimized for simple file transfers; it would require custom code and is overkill. Option C is wrong because gsutil rsync is a command-line tool that runs on a single machine, limiting throughput and requiring manual setup. Option D is wrong because writing a Python script would require custom development, error handling, and scaling, which is less efficient than a managed service.

20
Multi-Selectmedium

Which THREE are features of Pub/Sub?

Select 3 answers
A.SQL-based queries
B.Push subscriptions
C.Global scale
D.Built-in file storage
E.Pull subscriptions
AnswersB, C, E

Push subscriptions let Pub/Sub actively deliver each message to a registered HTTPS endpoint, rather than waiting for the subscriber to poll. This satisfies the stem's requirement for a genuine Pub/Sub feature, since push delivery is a native subscription type alongside pull, with automatic retry and configurable acknowledgement deadlines.

Why this answer

Option B (Push subscriptions) is correct because Pub/Sub supports push subscriptions, in which the service actively delivers messages to a subscriber's HTTPS endpoint as they arrive. Option C (Global scale) is correct because Pub/Sub is a fully managed, globally distributed messaging service that automatically scales to handle high throughput across regions. Option E (Pull subscriptions) is correct because Pub/Sub also supports pull subscriptions, where the subscriber client requests or streams messages from the subscription.

Option A (SQL-based queries) is not a Pub/Sub feature, as Pub/Sub is a messaging service rather than a query engine, and Option D (Built-in file storage) is not provided by Pub/Sub, which stores messages transiently for delivery rather than offering file storage.

Exam trap

GCP-ADP often tests whether candidates confuse Pub/Sub with adjacent GCP services — the trap is selecting SQL queries (BigQuery) or file storage (Cloud Storage) as if they were Pub/Sub features.

21
MCQmedium

You are building a Dataflow pipeline that reads from Pub/Sub and writes to BigQuery. The pipeline must handle late-arriving data up to 1 hour after the event time and still include it in the correct window. Which Dataflow feature should you configure?

A.Set the allowed lateness to 1 hour
B.Configure the pipeline to use processing time instead of event time
C.Use a session window with a gap duration of 1 hour
D.Increase the Pub/Sub acknowledgment deadline to 1 hour
AnswerA

Allowed lateness specifies how long Dataflow waits for late data after the watermark passes the end of a window. Setting it to 1 hour ensures that events arriving up to 1 hour late are still processed and included in the correct window, meeting the requirement.

Why this answer

Allowed lateness in Dataflow defines the additional time after the watermark that late data is accepted and processed into its appropriate window. Setting it to 1 hour ensures that events arriving up to an hour late are still included in the correct window, satisfying the requirement.

Exam trap

The trap here is confusing Pub/Sub acknowledgment deadlines or session windows with Dataflow's allowed lateness, which is the specific mechanism for handling late-arriving data in event-time windows.

22
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.

23
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.

24
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.

25
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.

26
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.

27
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.

28
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.

29
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.

30
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.

31
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.

32
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.

33
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.

34
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.

35
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.

36
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.

37
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.

38
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.

39
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.

40
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.

41
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.

42
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.

43
MCQhard

You are using Dataflow to read from Pub/Sub. The pipeline is failing due to malformed messages. How can you handle these without crashing?

A.Use a Dead Letter Queue (DLQ)
B.Ignore errors
C.Increase memory
D.Restart the pipeline
AnswerA

A Dead Letter Queue captures messages that repeatedly fail processing, letting the pipeline route malformed records aside instead of throwing exceptions that halt the pipeline. This satisfies the requirement to handle bad messages without crashing.

Why this answer

A Dead Letter Queue pattern in Dataflow captures messages that fail transformation or parsing so the pipeline can continue processing valid records. In Apache Beam you implement this by branching the pipeline: successful records go to the main sink, and failed records (caught via try/except or a tagged output) are written to a separate Pub/Sub topic or BigQuery table for later inspection. This prevents a single malformed message from killing the streaming job.

Exam trap

GCP-ADP often tests whether candidates confuse infrastructure-level retries (Pub/Sub redelivery, Dataflow worker restarts) with application-level error handling — the DLQ pattern is the only option that actually isolates bad records.

How to eliminate wrong answers

Option B is wrong because silently ignoring errors hides data quality problems and can cause silent data loss; it is not a real error-handling strategy. Option C is wrong because increasing memory does not fix malformed input — the failure is a parsing/validation error, not an out-of-memory condition. Option D is wrong because restarting the pipeline only temporarily recovers; the same malformed message will be redelivered and crash the job again, creating a restart loop.

44
MCQeasy

A colleague must load a 200 GB uncompressed CSV file from a Cloud Storage bucket into a BigQuery table once, with the lowest possible load cost and no transformation. They want the simplest option that BigQuery handles natively. What should they use?

A.bq load with the CSV file specified as a Cloud Storage URI
B.A Cloud Data Fusion pipeline with a Cloud Storage source and BigQuery sink
C.A Dataflow pipeline using the TextIO source and BigQueryIO sink
D.A Dataproc job running Spark to read the CSV and write to BigQuery
AnswerA

The bq load command ingests data directly from Cloud Storage into a BigQuery table without charging for a separate compute service, and it is the native, simplest path for a one-time CSV load. BigQuery charges only for storage after the load, so this meets the lowest-cost and no-transformation requirements for a 200 GB file.

Why this answer

Loading a file straight from Cloud Storage with the bq load command is BigQuery's native bulk ingest path and does not require a separate compute service, so it is both the simplest and the least expensive option for an untransformed one-time CSV load. Dataflow, Cloud Data Fusion, and Dataproc all add their own compute charges and pipeline complexity that the scenario does not need.

Exam trap

The trap here is reaching for a managed processing service by habit when BigQuery can ingest the file directly at no extra compute cost.

45
MCQhard

You are designing a Dataflow pipeline that reads from Cloud Storage and writes to BigQuery. The input files are in Avro format and contain a field with a timestamp that is often null. You need to ensure that records with null timestamps are not dropped but are assigned a default timestamp of the pipeline start time. Which approach should you use?

A.Use a Combine transform to calculate the minimum timestamp and replace nulls with that value.
B.Use a ParDo transform to check for null timestamps and replace them with the pipeline start time using a side input.
C.Use a GroupByKey transform to group records by timestamp and filter out nulls.
D.Use a CoGroupByKey transform to join records with a default timestamp PCollection.
AnswerB

A ParDo transform can access a side input containing the pipeline start time and replace null timestamps. This ensures records are not dropped and are assigned a valid timestamp. Side inputs are the correct way to provide a runtime value like pipeline start time to all elements in a PCollection.

Why this answer

To replace null timestamps with the pipeline start time, a ParDo transform with a side input is appropriate. The side input can be a singleton PCollection containing the start time, which is computed once and available to all workers. This ensures each record with a null timestamp is assigned the default without dropping data.

Exam trap

The trap here is confusing transforms like GroupByKey or Combine with the need to modify individual records, which requires a ParDo.

46
Multi-Selecteasy

Which TWO are valid methods to trigger a Dataflow job?

Select 2 answers
A.Cloud Console
B.Direct keyboard input
C.Cloud Scheduler
D.GCS bucket browsing
E.Cloud DNS lookup
AnswersA, C

The Cloud Console provides a graphical interface for launching a Dataflow job, letting you pick a template or specify pipeline parameters and start execution directly. This is a supported triggering method, unlike writing pipeline code or invoking the Dataflow API programmatically from a client.

Why this answer

Option A (Cloud Console) is correct because Google Cloud Dataflow jobs can be created and launched directly from the Cloud Console UI, where you select a template or pipeline and configure parameters before clicking Run. Option C (Cloud Scheduler) is correct because Cloud Scheduler can send an HTTP request to the Dataflow REST API (or trigger a Cloud Function that calls it) to start a Dataflow job on a cron schedule, making it a valid programmatic trigger method. Option B (Direct keyboard input) is not a valid trigger mechanism for Dataflow jobs, as Dataflow has no such input channel.

Option D (GCS bucket browsing) is not a trigger method; browsing objects in Cloud Storage does not launch a Dataflow job. Option E (Cloud DNS lookup) is unrelated to Dataflow, as Cloud DNS resolves domain names and cannot start data processing jobs.

Exam trap

GCP-ADP often tests whether candidates know the actual trigger surfaces for Dataflow — the trap is picking plausible-sounding but non-trigger options like GCS bucket browsing or DNS lookup.

47
MCQmedium

You are cleaning data using Dataprep. You want to save the final dataset in BigQuery. What do you do?

A.Copy the file from GCS
B.Use a SQL query
C.Use the Export feature
D.Wait for Dataflow to finish
AnswerC

Dataprep's Export feature writes transformed datasets directly to BigQuery, satisfying the requirement to persist cleaned data there. It handles schema mapping and load jobs natively, unlike running recipes that only produce results within the flow. This is the designed output path for moving prepared data into BigQuery without manual extraction.

Why this answer

In Dataprep (now Dataprep by Trifacta), after cleaning and transforming a dataset in the flow, you publish results using the Export (or 'Run job'/output) feature, where you specify BigQuery as the output destination and configure the target dataset and table. This writes the transformed data into BigQuery. Copying files or running SQL manually is not how Dataprep delivers results.

Exam trap

GCP-ADP often tests whether candidates know Dataprep's output is configured via its Export/publish feature rather than manual GCS copying or SQL, so candidates may pick 'copy from GCS' as a shortcut.

How to eliminate wrong answers

Option A is wrong because copying a file from GCS is a manual storage operation that bypasses Dataprep's transformation output; Dataprep writes results directly to the configured sink. Option B is wrong because using a SQL query is a BigQuery-side operation, not the Dataprep mechanism for saving a cleaned dataset; Dataprep generates the load, not a hand-written query. Option D is wrong because waiting for Dataflow to finish describes the underlying execution engine, not the user action to export results — Dataprep runs Dataflow jobs internally, but the user configures an export/output destination.

48
MCQhard

You are troubleshooting a Dataflow job that is running slower than expected when writing data to BigQuery. You suspect the issue is related to hot keys. What is the recommended strategy to mitigate this?

A.Change the Dataflow runner to a different region
B.Increase the number of worker machines
C.Use Cloud Storage as an intermediate sink
D.Add a random salt to the key before the shuffle operation
AnswerD

Salting appends a random value to each key before the shuffle, spreading otherwise identical hot keys across many workers so a single worker no longer processes the bulk of records. This relieves the write bottleneck into BigQuery caused by skewed key distribution.

Why this answer

Hot keys cause a small number of keys to be processed by a single worker, creating a bottleneck during the shuffle. Adding a random salt (e.g., appending a random suffix) to the key before the shuffle distributes those records across many workers, then a second pass removes the salt to recombine results. This is the standard Dataflow/Apache Beam mitigation for key skew.

Exam trap

GCP-ADP often tests the misconception that adding more workers or changing regions fixes hot key skew, when the real fix is redistributing the key space via salting before the shuffle.

How to eliminate wrong answers

Option A is wrong because changing the Dataflow runner region does not affect key distribution or shuffle skew; it only changes where workers run. Option B is wrong because adding workers does not help when a single hot key must be processed by one worker — the bottleneck is per-key serialization, not total capacity. Option C is wrong because using Cloud Storage as an intermediate sink does not address the shuffle-stage hot key; it merely changes the output path and can add latency.

49
MCQhard

You need to perform a rolling update on a Dataflow job without losing current state. How do you do this?

A.Create a new job and point to the same source
B.Stop the job and start it again
C.Use a pipeline template
D.Use the Dataflow Update job command
AnswerD

The Dataflow Update command replaces the job's transform graph while preserving the existing pipeline state, including buffered elements and watermarks. This satisfies the stem's no-state-loss constraint during a rolling update, unlike stop-and-restart approaches that discard in-flight data and reset streaming state.

Why this answer

The Dataflow Update job command allows you to update a running pipeline with new code while preserving the pipeline's state, including its data and processing context. This enables rolling updates without losing state.

Exam trap

GCP-ADP often tests the assumption that any pipeline change can be applied via update, but incompatible changes require a new job, leading candidates to choose incorrect options.

How to eliminate wrong answers

Option A is wrong because creating a new job and pointing to the same source would start from scratch, losing state and potentially duplicating data. Option B is wrong because stopping and restarting the job would also lose state and cause downtime. Option C is wrong because using a pipeline template does not support updating a running job; it creates a new job.

50
MCQeasy

You need to load a 4 TB uncompressed CSV file from Cloud Storage into BigQuery. The file has 200 columns, and you want the load to complete as quickly as possible while minimizing cost. The data is already clean and does not require transformation. Which approach should you take?

A.Use the BigQuery Storage Write API to stream the CSV rows into a native table.
B.Load the CSV directly into BigQuery using the bq load command with the --autodetect flag.
C.Create an external table over the CSV in Cloud Storage and query it directly without loading.
D.Convert the CSV to compressed Parquet, split into multiple files, and load the Parquet files into BigQuery.
AnswerD

Parquet is columnar and compressed, so BigQuery can load it much faster and at lower cost than uncompressed CSV. Splitting the data into multiple files allows BigQuery to parallelize the load across slots and workers. Since the data is already clean and needs no transformation, a direct load of Parquet is the fastest and most economical path for this 4 TB dataset.

Why this answer

For a large, clean dataset, converting to columnar compressed Parquet and splitting into multiple files gives BigQuery the best parallelism and compression, reducing both load time and cost. A direct load of Parquet avoids the overhead of parsing uncompressed CSV and does not require an external table or streaming infrastructure. This matches the goal of fast, low-cost ingestion without transformation.

Exam trap

The trap here is reaching for external tables or streaming APIs for a one-time bulk load, when a native load of compressed columnar files is the fastest and cheapest option.

51
MCQeasy

Which GCS storage class is most cost-effective for data accessed only once per year?

A.Standard
B.Coldline
C.Archive
D.Nearline
AnswerC

Archive suits data accessed once yearly because its minimum storage duration is 365 days, matching that retrieval frequency without early-deletion charges. At roughly $0.0012 per GB monthly, it undercuts Coldline and Nearline, satisfying the stem's cost-effectiveness constraint while Microsoft Entra ID remains irrelevant to GCS class selection.

Why this answer

Archive is the most cost-effective GCS storage class for data accessed only once per year because it is designed for long-term storage of data that is accessed less than once a year. Archive storage has the lowest storage cost among GCS classes, but it also has the highest retrieval cost and a minimum storage duration of 365 days. For data accessed only once per year, Archive provides the best cost savings.

Exam trap

GCP-ADP often tests the minimum storage durations and access frequency thresholds for each storage class, and candidates may confuse Coldline with Archive because both are for infrequent access, but Archive is specifically for data accessed less than once a year.

How to eliminate wrong answers

Option A is wrong because Standard is designed for frequently accessed data and has the highest storage cost, making it unsuitable for data accessed only once per year. Option B is wrong because Coldline is designed for data accessed less than once a quarter, and while it is cheaper than Standard and Nearline, it is more expensive than Archive for data accessed only once per year. Option D is wrong because Nearline is designed for data accessed less than once a month, and it is more expensive than Coldline and Archive for infrequent access.

52
MCQhard

You are using Dataflow with a custom container. Which command do you use to specify the container image?

A.--sdk_container_image
B.--container_path
C.--custom_image
D.--worker_image
AnswerA

The --sdk_container_image pipeline option tells Dataflow which custom container image to pull for the worker environment. Specifying it satisfies the requirement to run the job with your own container rather than the default SDK image.

Why this answer

When running an Apache Beam pipeline on Dataflow with a custom container, the pipeline option that specifies the container image is --sdk_container_image. This tells Dataflow to pull the specified image from Artifact Registry or Container Registry and use it as the SDK harness environment for the workers. The other flags do not exist in the Dataflow pipeline options.

Exam trap

The trap here is the plausible-sounding but non-existent flags --custom_image and --worker_image; candidates who have not actually run a Dataflow custom container pipeline guess based on naming intuition rather than the real --sdk_container_image option.

How to eliminate wrong answers

Option B is wrong because --container_path is not a valid Dataflow pipeline option; there is no such flag for specifying a worker container. Option C is wrong because --custom_image is not a recognized Dataflow option — the correct prefix is sdk_container_image. Option D is wrong because --worker_image is not a Dataflow pipeline option; worker machine type is set with --worker_machine_type, and the container image is set with --sdk_container_image.

53
MCQmedium

Your team runs an Apache Airflow environment on Google Cloud Managed Service for Apache Airflow. A daily ingestion DAG must wait for a partner team's separate DAG to finish loading a landing table before it can begin its own transformation. The partner DAG is in the same Airflow environment but runs on an unpredictable schedule. You want the dependency handled natively by Airflow rather than with a fixed sleep or time sensor. What should you configure?

A.A PythonOperator that calls the partner DAG's REST API trigger endpoint
B.A Cloud Storage sensor watching the landing bucket for new objects
C.A TimeSensor that waits until a predetermined clock time each day
D.An ExternalTaskSensor that points at the partner DAG and task
AnswerD

An ExternalTaskSensor polls the Airflow metadata database for the state of a task in another DAG, so the downstream transformation only proceeds once the partner load task has actually succeeded. This encodes the real cross-DAG dependency, works across DAGs in the same environment, and fails or retries based on the real upstream state rather than a fixed time.

Why this answer

The requirement is a true task-level dependency on another DAG's completion, not a time or file heuristic. An ExternalTaskSensor reads the upstream task state from Airflow's metadata database, so the transformation proceeds only after the partner load succeeds. Time sensors, storage sensors, and API triggers either guess at completion or invert the dependency, none of which guarantees the landing table is fully populated.

Exam trap

The trap here is assuming any sensor that waits will do, when only a sensor that reads the upstream DAG's task state actually enforces the cross-DAG dependency.

54
Multi-Selectmedium

Which THREE of the following are valid GCS storage classes?

Select 3 answers
A.Warmline
B.Nearline
C.Hotline
D.Coldline
E.Standard
AnswersB, D, E

Nearline satisfies the stem's requirement for a valid GCS storage class, offering low-frequency access with a 30-day minimum storage duration and retrieval costs. It sits between Standard and Coldline on the availability-versus-cost axis, making it a legitimate class alongside Standard, Coldline and Archive.

Why this answer

Option B (Nearline) is a valid GCS storage class designed for data accessed less than once per month, offering lower storage cost with a 30-day minimum storage duration. Option D (Coldline) is also valid, intended for data accessed less than once per quarter, with a 90-day minimum storage duration and retrieval costs. Option E (Standard) is the default GCS storage class for frequently accessed ("hot") data with no minimum storage duration and the highest availability.

Options A (Warmline) and C (Hotline) are not real GCS storage classes; they are fabricated names that do not correspond to any Google Cloud Storage offering.

Exam trap

GCP-ADP often tests whether candidates can distinguish real GCS storage classes from plausible-sounding but nonexistent ones like 'Warmline' or 'Hotline'.

55
Multi-Selectmedium

You need to prepare data for analysis in BigQuery. You have a CSV file in Cloud Storage that contains personally identifiable information (PII) such as email addresses and phone numbers. You must obfuscate this PII before loading it into BigQuery. Which two Google Cloud services or features can help you achieve this? (Choose two.)

Select 2 answers
A.BigQuery row-level security
B.BigQuery column-level security
C.Cloud Dataflow with the DLP transform
D.Cloud Storage default encryption
E.Cloud Data Loss Prevention (DLP) API
AnswersC, E

Dataflow pipelines can incorporate the Cloud DLP API as a transform to de-identify data in motion. You can read the CSV from Cloud Storage, apply the DLP transform to obfuscate PII, and write the cleaned data to BigQuery. This is a scalable and automated approach to prepare data with PII obfuscation.

Why this answer

Cloud DLP API and Dataflow with the DLP transform are both designed to inspect and de-identify sensitive data. Cloud DLP API can process data in Cloud Storage directly, while Dataflow can integrate DLP as a pipeline step. Together or separately, they can obfuscate PII before loading into BigQuery.

The other options provide access control or encryption, but not obfuscation.

Exam trap

The trap here is thinking that column-level security or encryption obfuscates data, but they only control access or protect at rest, leaving PII intact.

56
MCQmedium

Your team uses Dataprep by Trifacta to clean data before loading it into BigQuery. You notice that the column header names contain inconsistent casing and special characters. Which Dataprep transformation should you use to standardize these headers globally?

A.Nest Columns
B.Aggregate
C.Rename Columns
D.Merge Columns
AnswerC

Rename Columns applies a transformation across all column headers at once, letting you strip special characters and enforce consistent casing globally. This satisfies the stem's requirement to standardise inconsistent header names before loading into BigQuery.

Why this answer

The Rename Columns transformation in Dataprep by Trifacta lets you standardize column headers globally — changing case, removing special characters, and applying consistent naming conventions across the dataset. It is the direct tool for header normalization.

Exam trap

GCP-ADP often tests whether candidates confuse transformations that change data structure (Nest, Merge) with those that change metadata (Rename), causing them to pick a data-shaping step for a header-standardization task.

How to eliminate wrong answers

Option A is wrong because Nest Columns restructures data by grouping columns into nested objects; it does not rename or standardize headers. Option B is wrong because Aggregate performs calculations like sum, count, or average across rows, which is unrelated to header naming. Option D is wrong because Merge Columns concatenates values from multiple columns into one, which changes data content rather than header names.

57
MCQmedium

You need to ingest data from a MySQL database into BigQuery. The database is updated continuously, and you need near-real-time replication with minimal impact on the source database. You also want to avoid writing custom code. What should you use?

A.Datastream with a MySQL source and BigQuery destination.
B.Dataflow with a MySQL to BigQuery template.
C.Cloud SQL federated queries from BigQuery.
D.BigQuery Data Transfer Service with a MySQL connector.
AnswerA

Datastream is a serverless change data capture (CDC) service that supports MySQL as a source and can replicate changes to BigQuery in near real-time. It reads the database log (binlog) with minimal impact on the source and requires no custom code. This meets the requirements for continuous replication and low impact.

Why this answer

Datastream is designed for continuous CDC from MySQL to BigQuery. It reads the binlog with minimal impact on the source, provides near-real-time replication, and requires no custom code. Other options are either batch-oriented, require coding, or do not replicate data into BigQuery.

Exam trap

The trap here is assuming that BigQuery Data Transfer Service supports all databases for continuous replication, when it does not support MySQL CDC.

58
MCQhard

In Dataflow, what is the impact of using a high number of workers for a small dataset?

A.Faster processing
B.Decreased latency
C.Data corruption
D.Increased cost and overhead
AnswerD

Dataflow workers are billed per vCPU-hour, and each worker carries startup and shuffle overhead. Overprovisioning workers for a small dataset multiplies cost and coordination overhead without improving throughput, since parallelism is bounded by data size.

Why this answer

Dataflow provisions workers as a fixed pool sized by the number of workers you specify, and each worker incurs per-hour Compute Engine charges plus associated overhead (startup, shuffle, network). For a small dataset, the work is finished quickly regardless of parallelism, so extra workers add no throughput benefit while multiplying cost and adding coordination overhead. The correct answer is therefore increased cost and overhead, not faster processing.

Exam trap

GCP-ADP often tests the misconception that more workers always means faster processing, when in fact Dataflow parallelism is bounded by the number of splittable bundles in the input.

How to eliminate wrong answers

Option A is wrong because Dataflow's parallelism only helps when the input can be split into enough bundles to keep workers busy; a small dataset produces too few bundles, so adding workers yields diminishing or zero speedup. Option B is wrong because latency is governed by pipeline design, autoscaling, and streaming windowing, not by raw worker count; more workers do not reduce end-to-end latency for a small batch. Option C is wrong because Dataflow guarantees exactly-once processing and does not corrupt data due to worker count — corruption is not a consequence of over-provisioning.

59
MCQmedium

Your team is ingesting streaming clickstream events from Pub/Sub into BigQuery. You need to ensure that the pipeline can handle duplicate message deliveries without creating duplicate rows in the destination table. What should you do?

A.Enable exactly-once delivery on the Pub/Sub subscription and use a Dataflow pipeline with the BigQuery Storage Write API configured for exactly-once semantics.
B.Use the BigQuery streaming insert API with insertId populated from a unique event identifier, and rely on BigQuery to deduplicate rows.
C.Use Cloud Data Fusion to read from Pub/Sub and write to BigQuery with the deduplicate plugin enabled.
D.Configure the Pub/Sub subscription to use a dead-letter topic and set the maximum delivery attempts to 1.
AnswerA

Exactly-once delivery on the Pub/Sub subscription prevents redelivery of acknowledged messages, and the BigQuery Storage Write API in exactly-once mode ensures each record is written once even if the pipeline retries. Together they provide end-to-end duplicate elimination for streaming insertions, which matches the requirement to avoid duplicate rows.

Why this answer

End-to-end duplicate elimination for Pub/Sub to BigQuery requires exactly-once delivery on the subscription and a sink that supports exactly-once writes. The BigQuery Storage Write API with exactly-once semantics, combined with Pub/Sub exactly-once delivery, ensures each message is processed and written once. Other options either provide best-effort deduplication or do not prevent duplicates.

Exam trap

The trap here is assuming that Pub/Sub message deduplication alone or BigQuery insertId deduplication is sufficient, when exactly-once end-to-end requires both source and sink configurations.

60
MCQmedium

You need to verify the integrity of a large file uploaded to GCS. What is the standard way to do this?

A.Use Cloud Logging
B.Check file size
C.Check MD5 hash
D.Use Dataflow
AnswerC

Cloud Storage stores an MD5 hash for each object, retrievable via the object's metadata, letting you compare it against the locally computed hash of the uploaded file to confirm integrity, which is the standard verification method the stem asks for.

Why this answer

The standard way to verify integrity of a file uploaded to GCS is to compare its MD5 hash (or CRC32C) against the source file's hash. GCS stores the MD5 and CRC32C checksums as object metadata, and you can compare them to confirm the upload was not corrupted. This is the canonical integrity-verification method.

Exam trap

GCP-ADP often tests the misconception that file size or logging confirms integrity, so candidates pick 'check file size' instead of the checksum-based MD5/CRC32C verification.

How to eliminate wrong answers

Option A is wrong because Cloud Logging records events and errors but does not provide file integrity verification or checksums. Option B is wrong because checking file size only confirms byte count, not content integrity — a corrupted file can have the same size. Option D is wrong because Dataflow is a data processing service, not a tool for verifying object integrity in GCS.

61
MCQmedium

You are building a streaming pipeline using Dataflow to process sensor data arriving via Pub/Sub. You need to handle out-of-order data by allowing events to arrive late. Which Dataflow concept must you configure?

A.Side Inputs
B.Partitioning
C.GroupByKey
D.Watermarks
AnswerD

Watermarks track event-time progress in the pipeline, defining when a window's results are considered complete. Configuring an allowed lateness window lets Dataflow retain state and process events arriving after the watermark, directly satisfying the requirement to handle out-of-order sensor data from Pub/Sub.

Why this answer

Watermarks are Dataflow's mechanism for tracking event-time progress in a streaming pipeline. They represent the point in event time up to which the system believes all data has arrived, so configuring an allowed lateness window relative to the watermark lets late-arriving sensor events still be processed correctly. Without watermarks, Dataflow cannot reason about when a window is 'complete' or how long to wait for stragglers.

Exam trap

GCP-ADP often tests the confusion between windowing/triggers and watermarks — candidates pick GroupByKey thinking grouping handles lateness, when in fact watermarks (plus allowed lateness) are what govern out-of-order event handling.

How to eliminate wrong answers

Option A is wrong because Side Inputs are used to enrich each element with additional slow-changing data (e.g., a lookup table), not to handle out-of-order or late-arriving events. Option B is wrong because Partitioning (via Partition transform) splits a PCollection into multiple PCollections based on a key, which is about routing/parallelism, not event-time correctness. Option C is wrong because GroupByKey simply groups values by key within a window; it does not by itself define lateness or trigger behavior — it relies on windowing and watermarks to know when to emit results.

62
Multi-Selectmedium

Which TWO factors should you consider when choosing a GCS storage class?

Select 2 answers
A.Data color
B.Data retention requirements
C.Network speed
D.Number of users
E.Access frequency
AnswersB, E

Retention requirements dictate whether data must remain immutable for compliance periods, which rules out classes lacking Object Lock support or lifecycle deletion flexibility. Standard, Nearline, Coldline and Archive differ in minimum storage duration and retrieval costs, so mandated retention windows directly determine which class avoids early-deletion penalties.

Why this answer

Option B (Data retention requirements) is correct because GCS storage classes differ in minimum storage duration and retrieval costs, so how long you must keep data determines whether a class like Nearline, Coldline, or Archive is cost-effective versus Standard. Option E (Access frequency) is correct because storage classes are fundamentally optimized around how often objects are read: Standard for frequent access, Nearline for about once a month, Coldline for about once a quarter, and Archive for less than once a year. Option A (Data color) is not a real GCS concept and has no bearing on storage class selection.

Option C (Network speed) affects transfer performance but not which storage class you choose. Option D (Number of users) is irrelevant because GCS storage classes are based on access patterns and retention, not user counts.

Exam trap

GCP-ADP often tests the misconception that factors like network speed or number of users affect storage class choice, when the real drivers are access frequency and retention duration.

63
Multi-Selecteasy

Which TWO of the following are GCP ingestion tools?

Select 2 answers
A.Cloud Storage
B.Cloud SQL
C.Cloud Compute
D.Pub/Sub
E.Cloud DNS
AnswersA, D

Cloud Storage acts as a GCP ingestion tool because it accepts raw data files that pipelines then load into BigQuery or Dataproc, satisfying the stem's requirement for a landing zone where external sources deposit data before processing.

Why this answer

Cloud Storage (A) is correct because it serves as a GCP ingestion tool by allowing data to be loaded into the cloud via gsutil, the JSON/XML APIs, or Storage Transfer Service, and it commonly acts as the landing zone for batch data pipelines feeding BigQuery or Dataproc. Pub/Sub (D) is correct because it is GCP's fully managed, globally scalable messaging service that ingests streaming data from publishers and delivers it to subscribers, making it the primary ingestion mechanism for real-time and event-driven pipelines. Cloud SQL (B) is not an ingestion tool; it is a managed relational database service (MySQL, PostgreSQL, SQL Server) used for storage and querying, not for bringing data into GCP.

Cloud Compute (C) is not an ingestion tool; Compute Engine provides IaaS virtual machines, which may run ingestion software but are not themselves an ingestion service. Cloud DNS (E) is not an ingestion tool; it is a scalable, reliable managed DNS service for publishing and resolving domain names.

Exam trap

GCP-ADP often tests the distinction between ingestion, storage, and compute services; candidates may mistakenly select Cloud SQL or Compute Engine as ingestion tools because they handle data, but ingestion specifically refers to bringing data into the platform.

64
MCQmedium

You are ingesting CSV files into BigQuery using the bq load command. The CSV files have a header row, and you want BigQuery to automatically detect the schema and skip the header. Which flags should you include?

A.--autodetect --header=true
B.--infer_schema --skip_rows=1
C.--autodetect --skip_leading_rows=1
D.--schema --header
AnswerC

The --autodetect flag tells BigQuery to infer the schema from the data, and --skip_leading_rows=1 tells it to ignore the first row, which is the header. Together, these flags allow a seamless load of CSV files with headers into a new table. This is the standard approach for ad-hoc loads when you do not want to define a schema manually.

Why this answer

To load CSV files with a header row and let BigQuery infer the schema, use bq load with --autodetect and --skip_leading_rows=1. The --autodetect flag enables schema inference, and --skip_leading_rows=1 skips the header. The other flag combinations either use invalid flags or require manual schema definition, which is not what the scenario asks for.

Exam trap

The trap here is confusing the bq load flag for skipping headers, which is --skip_leading_rows, with a non-existent --header flag.

65
MCQeasy

You need to store sensitive data in GCS. Which feature ensures data is encrypted at rest?

A.Default Encryption
B.Identity and Access Management
C.Cloud DLP
D.Customer-Managed Encryption Keys (CMEK)
AnswerA

Google Cloud Storage automatically encrypts every object at rest using AES-256 before writing to disk, with no configuration required. This default server-side encryption satisfies the stem's requirement to protect sensitive data at rest, applying uniformly across all storage classes and regions without additional keys or setup from you.

Why this answer

Google Cloud Storage automatically encrypts all data at rest using AES-256 encryption before it is written to disk, with no configuration required. This default encryption ensures that sensitive data is protected without any additional action from the user. While CMEK and Cloud DLP offer additional control or inspection, the fundamental guarantee of encryption at rest is provided by default encryption.

Exam trap

The trap here is confusing access control (IAM) or data inspection (DLP) with encryption, or thinking that CMEK is required for encryption at rest when default encryption already provides it.

How to eliminate wrong answers

Option B is wrong because Identity and Access Management (IAM) controls access to resources but does not encrypt data at rest; it manages authentication and authorization. Option C is wrong because Cloud DLP is a service for discovering, classifying, and protecting sensitive data, but it does not provide encryption at rest; it can help identify data that may need encryption but is not the encryption mechanism itself. Option D is wrong because Customer-Managed Encryption Keys (CMEK) is an optional feature that allows you to use your own keys for encryption, but it is not the feature that ensures data is encrypted at rest by default; default encryption already does that without CMEK.

66
MCQmedium

You need to perform data cleansing on a large dataset in Dataprep. Which execution engine should you choose for scalability?

A.Local Desktop
B.BigQuery
C.Cloud Run
D.Dataflow
AnswerD

Dataflow provides a distributed Apache Beam runner that scales horizontally across many workers, satisfying the large-dataset scalability constraint. Unlike single-node sampling engines, it parallelises cleansing transforms across the dataset, so processing time does not degrade as volume grows. Dataprep uses Dataflow as its default execution engine for exactly this reason.

Why this answer

Dataflow is the correct execution engine for Dataprep because Dataprep is built on top of Cloud Dataflow, which provides distributed, autoscaling processing for large datasets. Dataflow handles the parallel execution of Dataprep recipes across many workers, so cleansing operations scale horizontally without manual cluster management. Choosing Dataflow ensures the job can handle terabyte-scale data efficiently.

Exam trap

GCP-ADP often tests the misconception that BigQuery is the execution engine for Dataprep because Dataprep integrates with BigQuery; the key is that Dataflow is the scalable processing engine, while BigQuery is a destination/source.

How to eliminate wrong answers

Option A is wrong because Local Desktop execution runs the job on the user's machine, which cannot scale to large datasets and is limited by local CPU/memory. Option B is wrong because BigQuery is a data warehouse, not an execution engine for Dataprep recipes; Dataprep can read from and write to BigQuery but does not use it to run the transformation. Option C is wrong because Cloud Run is a serverless container platform for stateless HTTP services, not a data processing engine for Dataprep.

67
Multi-Selecteasy

Which TWO are methods to secure GCS data?

Select 2 answers
A.Renaming files
B.IAM roles
C.Printing files
D.Public internet access
E.Cloud KMS encryption
AnswersB, E

IAM roles grant identities granular permissions on buckets and objects, letting you restrict who may read, write or administer GCS data. This satisfies the question's requirement for an access-control method, operating at the identity and resource-policy layer rather than encrypting the stored bytes.

Why this answer

IAM roles (B) are a correct method to secure GCS data because Cloud Storage uses Cloud IAM to grant fine-grained, least-privilege access to buckets and objects, controlling who can read, write, or administer data via roles such as roles/storage.objectViewer or roles/storage.admin. Cloud KMS encryption (E) is also correct because Customer-Managed Encryption Keys (CMEK) let you encrypt GCS objects with keys you own and manage in Cloud KMS, giving you control over key rotation, revocation, and audit of cryptographic access. Renaming files (A) does not secure data, since object names are not a security control and access is governed by IAM and ACLs, not filenames.

Printing files (C) is unrelated to data security and could actually increase exposure by creating physical or additional copies. Public internet access (D) is the opposite of securing data, as making a bucket public grants anonymous read access and violates the principle of least privilege.

Exam trap

GCP-ADP often tests whether candidates recognize that 'security' means access control plus encryption — distractors like renaming or public access exploit confusion between operational actions and actual security controls.

68
MCQeasy

Which service should you use to ingest streaming data from mobile devices?

A.Cloud Storage
B.BigQuery
C.Pub/Sub
D.Cloud SQL
AnswerC

Pub/Sub is a fully managed, globally scalable messaging service that decouples mobile producers from downstream consumers, absorbing unpredictable device traffic bursts. It satisfies the streaming ingestion constraint by providing durable, at-least-once delivery with automatic scaling, unlike batch-oriented alternatives such as Cloud Storage or Dataflow itself.

Why this answer

Pub/Sub is designed for real-time messaging and ingestion of streaming data from various sources, including mobile devices. It decouples producers from consumers, allowing mobile apps to publish events to topics that downstream services can subscribe to. This makes it ideal for high-throughput, low-latency streaming ingestion.

Other options are storage or analytics services, not ingestion services.

Exam trap

GCP-ADP often tests the distinction between ingestion services (Pub/Sub) and storage/analytics services (BigQuery, Cloud Storage), so candidates might incorrectly choose BigQuery for streaming ingestion because it supports streaming inserts, but Pub/Sub is the dedicated ingestion service.

How to eliminate wrong answers

Option A is wrong because Cloud Storage is an object storage service for batch storage, not for streaming ingestion; it lacks native pub/sub messaging and real-time delivery. Option B is wrong because BigQuery is a data warehouse for analytics, not an ingestion service; while it can ingest streaming data via its API, it is not the primary service for ingesting from mobile devices and lacks the messaging semantics of Pub/Sub. Option D is wrong because Cloud SQL is a relational database for transactional workloads, not designed for high-volume streaming ingestion from mobile devices.

69
MCQmedium

A data engineer must ingest change data capture streams from an on-premises PostgreSQL database into BigQuery with minimal latency and without writing custom extraction code. The source table has a primary key that updates frequently. Which Google Cloud service should be used to replicate these changes continuously?

A.A scheduled BigQuery Data Transfer Service job with a PostgreSQL connector
B.Datastream with a PostgreSQL source and a BigQuery destination
C.A Cloud SQL federated query from BigQuery against the on-premises PostgreSQL instance
D.A Dataflow pipeline using the JDBC-to-BigQuery template run on a timer
AnswerB

Datastream is a serverless change data capture and replication service that reads the PostgreSQL write-ahead log, captures inserts, updates, and deletes with minimal latency, and writes them to BigQuery without custom extraction code. It handles the primary key updates and schema changes as part of replication, matching the continuous, low-latency requirement.

Why this answer

Continuous, low-latency change data capture from PostgreSQL into BigQuery without custom code is exactly what Datastream provides, reading the database log and applying changes to BigQuery. Scheduled transfer jobs and timer-driven Dataflow templates operate in batches and miss intermediate changes, while federated queries read at query time rather than replicating, so none deliver the required streaming replication.

Exam trap

The trap here is assuming any PostgreSQL connector performs change data capture, when most connectors and templates only perform scheduled batch reads.

70
MCQeasy

You need to ensure that deleted files in GCS can be restored for 30 days. What should you configure?

A.Cloud Storage bucket lock
B.Object Versioning
C.Bucket Lifecycle policy
D.IAM
AnswerB

Object Versioning retains noncurrent object generations after deletion or overwrite, letting you restore the prior generation for as long as you keep it. Combined with a lifecycle rule that deletes noncurrent versions after 30 days, it satisfies the stem's 30-day restorability constraint for deleted files in Cloud Storage.

Why this answer

Object Versioning preserves prior versions of objects when they are overwritten or deleted, allowing restoration for as long as the noncurrent versions are retained. To meet the 30-day restore requirement, you enable Object Versioning on the bucket and optionally add a lifecycle rule to delete noncurrent versions after 30 days. This directly satisfies the recoverability requirement without locking the bucket.

Exam trap

GCP-ADP often tests the confusion between retention/lock features (which prevent deletion) and versioning (which enables recovery after deletion) — candidates incorrectly pick bucket lock thinking it restores deleted files.

How to eliminate wrong answers

Option A is wrong because a bucket lock (retention policy) prevents deletion or modification of objects for a fixed period but does not provide a restore mechanism for already-deleted files; it enforces immutability, not recovery. Option C is wrong because a Lifecycle policy automates deletion, storage class transitions, or version cleanup — it does not itself enable restoration of deleted objects. Option D is wrong because IAM controls access permissions and cannot restore deleted objects or provide version history.

71
MCQhard

You are running a Dataflow job and notice that it is consuming too much memory and crashing. How do you optimize this?

A.Increase the number of workers
B.Reduce the number of workers
C.Use Batch mode
D.Select a higher memory machine type
AnswerD

Selecting a higher memory machine type gives each worker more RAM, preventing the out-of-memory crashes observed. This directly addresses the excessive memory consumption constraint by increasing available memory per worker rather than altering pipeline logic.

Why this answer

Dataflow worker memory is determined by the machine type; if a job is OOMing, selecting a higher-memory machine type (e.g., n1-highmem or a custom machine type) gives each worker more RAM to hold state, buffers, and user code. This directly addresses the memory pressure without changing parallelism.

Exam trap

The trap is assuming more workers equals more memory — candidates pick 'increase workers' when the real fix is per-worker memory via machine type or Streaming Engine.

How to eliminate wrong answers

Option A is wrong because adding workers increases parallelism but does not increase per-worker memory; if the bottleneck is per-worker memory, more workers can even worsen the problem by increasing shuffle pressure. Option B is wrong because reducing workers concentrates load and typically makes OOM worse. Option C is wrong because Batch mode vs Streaming mode changes execution semantics, not memory per worker, and the job may need to remain streaming.

72
MCQmedium

You need to ingest log data into BigQuery from GCS files that arrive sporadically. Which service is best to trigger this?

A.Cloud Scheduler
B.BigQuery Data Transfer Service
C.Dataflow
D.Cloud Functions
AnswerD

Cloud Functions provides event-driven, serverless execution triggered by GCS object finalisation events, so sporadic file arrivals invoke ingestion only when data lands. Dataproc and Dataflow need persistent clusters or streaming jobs, which waste resources during idle gaps between arrivals.

Why this answer

Cloud Functions is an event-driven serverless compute service that can be triggered by changes in Cloud Storage, such as when a new file arrives. It is ideal for sporadic, unpredictable file arrivals because it scales automatically and you only pay for execution time. You can write a function that triggers on the object finalize event and loads the data into BigQuery.

Exam trap

The trap is confusing event-driven triggers with scheduled or batch processing services, or assuming that Dataflow is always the answer for data movement.

How to eliminate wrong answers

Option A is wrong because Cloud Scheduler is used for cron-based scheduling, not for reacting to file arrival events; it would require polling and is not event-driven. Option B is wrong because BigQuery Data Transfer Service is designed for scheduled, recurring data loads from specific sources (e.g., Google Ads, YouTube) and does not trigger on GCS file arrival. Option C is wrong because Dataflow is a batch and stream processing service that requires a pipeline to be running or triggered, and it is overkill for simple file ingestion; it does not natively trigger on GCS events without additional setup.

73
MCQmedium

You are using Cloud Dataflow to process a batch pipeline that reads from Cloud Storage, transforms data, and writes to BigQuery. You notice that the pipeline is running slowly and want to optimize it. Which of the following should you do to improve performance?

A.Switch the pipeline to use streaming mode instead of batch mode.
B.Increase the number of workers and use a larger machine type.
C.Disable autoscaling to keep the worker count fixed.
D.Reduce the number of workers to lower contention.
AnswerB

Increasing the number of workers allows Dataflow to parallelize the processing across more machines, which can significantly speed up a batch pipeline. Using a larger machine type provides more CPU and memory per worker, which helps if the transformations are resource-intensive. This is a common and effective way to optimize Dataflow performance when the pipeline is slow due to insufficient resources.

Why this answer

To optimize a slow Dataflow batch pipeline, increasing the number of workers and using larger machine types can provide more parallelism and resources, directly addressing performance bottlenecks. Other options either change the pipeline type inappropriately or reduce resources, which would worsen performance.

Exam trap

The trap here is thinking that reducing workers or disabling autoscaling will improve performance by reducing contention, but these actions typically decrease throughput.

74
MCQhard

You need to perform a complex windowing operation on streaming data in Dataflow. Which windowing strategy is best for session-based activity?

A.Fixed windows
B.Global windows
C.Session windows
D.Sliding windows
AnswerC

Session windows group elements separated by gaps of inactivity, merging windows when events arrive within the configured gap duration. This directly satisfies the stem's session-based activity requirement, where bursts of user actions must be captured as discrete sessions rather than fixed time intervals.

Why this answer

Session windows are designed for session-based activity, where data is grouped by periods of activity separated by gaps of inactivity. They dynamically merge windows based on a specified gap duration, making them ideal for analyzing user sessions. This matches the requirement for complex windowing on streaming data with session-based activity.

Exam trap

The trap here is confusing session windows with sliding windows, as both involve overlapping, but sliding windows are based on fixed intervals, not activity gaps, causing candidates to select sliding for session-based scenarios.

How to eliminate wrong answers

Option A is wrong because fixed windows divide data into fixed-size, non-overlapping intervals, which do not adapt to session gaps. Option B is wrong because global windows encompass all data in a single window, requiring triggers to emit results, and are not suited for session-based grouping. Option D is wrong because sliding windows overlap and are defined by a fixed length and slide period, not by gaps in activity.

75
MCQmedium

You are using Cloud Data Fusion to build a batch pipeline that reads from an on-premises Oracle database and writes to BigQuery. The pipeline must run daily and you need to ensure that only new or changed records are ingested since the last run. Which plugin feature should you configure in the source stage?

A.Configure the source plugin's 'Incremental' property with a timestamp column or a numeric column to track changes.
B.Set the source plugin's 'Number of Splits' to a high value to parallelize reads.
C.Enable the 'Use Connection' property and select a preconfigured Oracle connection.
D.Set the sink's 'Update Schema' property to true so BigQuery can merge new records.
AnswerA

Cloud Data Fusion database source plugins support an incremental mode where you specify a column such as a last-modified timestamp or an incrementing ID. The plugin stores the last processed value and uses it to filter subsequent runs, so only new or changed rows are ingested. This directly satisfies the daily incremental load requirement without custom code.

Why this answer

Cloud Data Fusion's database source plugins include an incremental mode that uses a designated column to track the last processed value. By choosing a timestamp or incrementing numeric column, the pipeline can request only rows newer than the stored value on each run. This avoids full-table scans and prevents duplicate ingestion, which is exactly what a daily incremental load from Oracle to BigQuery requires.

Exam trap

The trap here is confusing performance tuning options like splits or connection reuse with change data capture, when incremental ingestion specifically requires a tracking column and stored state.

Page 1 of 2 · 82 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Data Preparation And Ingestion questions.