PDE Designing Data Processing Systems Practice Question
A media company processes video metadata using a Dataflow pipeline. They need to join two streaming sources: user activity (Pub/Sub) and video catalog updates (Pub/Sub). Which THREE transforms should be used in the pipeline?
⚠ Common exam trap
Candidates often think GroupByKey is needed before CoGroupByKey, but CoGroupByKey does the grouping internally.
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
✓
ParDo to process each element individually
To join two streaming Pub/Sub sources in Dataflow, you need to: (1) Use ParDo to extract the key from each element (e.g., video_id), (2) Window both PCollections into a common window (e.g., fixed 1-minute) to align the data, and (3) Use CoGroupByKey to join on the common key. GroupByKey separately is not required because CoGroupByKey internally groups by key. Flatten is used to combine PCollections of the same type, which is not applicable here.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Flatten to combine the two PCollections
Why it's wrong here
Flatten combines multiple PCollections of the same type; not needed for joining different sources.
- ✓
ParDo to process each element individually
Why this is correct
ParDo is needed to process each element and extract the common key (e.g., video_id) before joining.
- ✓
CoGroupByKey to join the two PCollections on a common key (e.g., video_id)
Why this is correct
CoGroupByKey joins multiple PCollections on a common key, essential for this scenario.
- ✓
Window both PCollections into a common window (e.g., fixed 1-minute)
Why this is correct
Window ensures both streams are aligned in time, enabling correct join results.
- ✗
GroupByKey on each PCollection separately before joining
Why it's wrong here
GroupByKey on each PCollection separately is unnecessary because CoGroupByKey already handles grouping by key.
Go deeper
Related to this question
About these practice questions
One of 747 original PDE practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.