- A
Read the CSV in a DoFn and perform a BigQuery query each time an event is processed
Why wrong: Querying BigQuery per event is expensive, slow, and not scalable. It also incurs unnecessary costs.
- B
Use a side input that reads the CSV once and broadcasts it to all workers
Side inputs are designed for such use cases. The CSV is read as a bounded PCollection and used as a side input (e.g., as a Map), enabling efficient, low-latency joins without external calls.
- C
Implement a custom sink that writes events to Cloud SQL and performs a SQL JOIN there
Why wrong: This introduces an external database dependency, adds latency, and increases operational complexity. Not the simplest or most cost-effective.
- D
Use CoGroupByKey to join the stream and batch PCollections by a common key after reading the CSV into a batch PCollection each window
Why wrong: CoGroupByKey works for two bounded PCollections or one unbounded with global window; this approach would require windowing on the batch side and is not the simplest or most cost-effective for a small table.
PDE Side Input Practice Question
This PDE practice question tests your understanding of designing data processing systems. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. A key principle to apply: side Input. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A data pipeline ingests streaming events into Pub/Sub and needs to join them with a slowly updating reference table (few thousand rows) from a Cloud Storage CSV file. The pipeline runs on Dataflow with Apache Beam. Which approach is most cost-effective and operationally simple?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
Use a side input that reads the CSV once and broadcasts it to all workers
Side inputs in Apache Beam allow you to read a bounded dataset (the CSV) once and broadcast it as a read-only map to all workers processing the unbounded stream. For a small reference table (few thousand rows), this is both cost-effective (no external database calls) and operationally simple. Option A would incur high latency and cost by making a BigQuery query per event. Option C introduces Cloud SQL as an external dependency, increasing complexity and latency. Option D is incorrect because CoGroupByKey is used for joining two unbounded PCollections or a bounded and an unbounded PCollection, but reading the CSV into a batch PCollection each window would cause repeated reads and is inefficient.
Key principle: Side Input
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Read the CSV in a DoFn and perform a BigQuery query each time an event is processed
Why it's wrong here
Querying BigQuery per event is expensive, slow, and not scalable. It also incurs unnecessary costs.
- ✓
Use a side input that reads the CSV once and broadcasts it to all workers
Why this is correct
Side inputs are designed for such use cases. The CSV is read as a bounded PCollection and used as a side input (e.g., as a Map), enabling efficient, low-latency joins without external calls.
Related concept
Side Input
- ✗
Implement a custom sink that writes events to Cloud SQL and performs a SQL JOIN there
Why it's wrong here
This introduces an external database dependency, adds latency, and increases operational complexity. Not the simplest or most cost-effective.
- ✗
Use CoGroupByKey to join the stream and batch PCollections by a common key after reading the CSV into a batch PCollection each window
Why it's wrong here
CoGroupByKey works for two bounded PCollections or one unbounded with global window; this approach would require windowing on the batch side and is not the simplest or most cost-effective for a small table.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Many certification questions include familiar terms but test a specific constraint. Read the exact wording before choosing an answer that is generally true but wrong for this case.
Detailed technical explanation
How to think about this question
Treat this as a scenario question. Identify the problem, the constraint, and the best action. Then compare each option against those facts.
KKey Concepts to Remember
- Side Input
- Apache Beam
- Dataflow
- CoGroupByKey
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Side Input
Real-world example
How this comes up in practice
A startup's cloud architect reviews their monthly bill and notices costs are higher than expected for a long-running batch job. Switching from on-demand instances to Reserved Instances — or using Spot/Preemptible VMs — can reduce compute costs by up to 72 %. Questions like this test whether you understand the tradeoffs between commitment, flexibility, and cost across cloud pricing models.
What to study next
Got this wrong? Here's your next step.
Review side Input, then practise related PDE questions on the same topic to reinforce the concept.
- →
Designing Data Processing Systems — study guide chapter
Learn the concepts, then practise the questions
- →
Designing Data Processing Systems practice questions
Targeted practice on this topic area only
- →
All PDE questions
1,000 questions across all exam domains
- →
Google Professional Data Engineer study guide
Full concept coverage aligned to exam objectives
- →
PDE practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related PDE practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Designing Data Processing Systems practice questions
Practise PDE questions linked to Designing Data Processing Systems.
Ingesting and Processing the Data practice questions
Practise PDE questions linked to Ingesting and Processing the Data.
Storing the Data practice questions
Practise PDE questions linked to Storing the Data.
Preparing and Using Data for Analysis practice questions
Practise PDE questions linked to Preparing and Using Data for Analysis.
Maintaining and Automating Data Workloads practice questions
Practise PDE questions linked to Maintaining and Automating Data Workloads.
Building and operationalizing data processing systems practice questions
Practise PDE questions linked to Building and operationalizing data processing systems.
Operationalizing machine learning models practice questions
Practise PDE questions linked to Operationalizing machine learning models.
Ensuring solution quality practice questions
Practise PDE questions linked to Ensuring solution quality.
PDE fundamentals practice questions
Practise PDE questions linked to PDE fundamentals.
PDE scenario practice questions
Practise PDE questions linked to PDE scenario.
PDE troubleshooting practice questions
Practise PDE questions linked to PDE troubleshooting.
Practice this exam
Start a free PDE practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this PDE question test?
Designing Data Processing Systems — This question tests Designing Data Processing Systems — Side Input.
What is the correct answer to this question?
The correct answer is: Use a side input that reads the CSV once and broadcasts it to all workers — Side inputs in Apache Beam allow you to read a bounded dataset (the CSV) once and broadcast it as a read-only map to all workers processing the unbounded stream. For a small reference table (few thousand rows), this is both cost-effective (no external database calls) and operationally simple. Option A would incur high latency and cost by making a BigQuery query per event. Option C introduces Cloud SQL as an external dependency, increasing complexity and latency. Option D is incorrect because CoGroupByKey is used for joining two unbounded PCollections or a bounded and an unbounded PCollection, but reading the CSV into a batch PCollection each window would cause repeated reads and is inefficient.
What should I do if I get this PDE question wrong?
Review side Input, then practise related PDE questions on the same topic to reinforce the concept.
What is the key concept behind this question?
Side Input
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Keep practising
More PDE practice questions
- A company wants to process large CSV files stored in Cloud Storage and load them into BigQuery. The files are generated…
- A company runs a Dataflow streaming pipeline that reads from Cloud Pub/Sub and writes to BigQuery. The pipeline uses a s…
- A company uses Cloud Dataproc for ephemeral clusters to run batch jobs. They want to ensure job reliability and data qua…
- Your company uses Vertex AI Pipelines to automate model retraining. The pipeline has three steps: data extraction from B…
- A company wants to use BigQuery to query data stored in Parquet files in Cloud Storage without loading the data into Big…
- A company has deployed a machine learning model to AI Platform Prediction. The model uses a custom container with a Tens…
Last reviewed: Jul 4, 2026
This PDE practice question is part of Courseiva's free Google Cloud certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PDE exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.