Courseiva

PDE Designing Data Processing Systems Practice Question

You are designing a Dataflow pipeline that joins two unbounded PCollections from different sources. Which transform should you use?

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

✓

CoGroupByKey

CoGroupByKey performs a key-based join of multiple PCollections. It can handle unbounded streams with appropriate windowing.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    ParDo

    Why it's wrong here

    ParDo applies a per-element user function and has no mechanism to match keys across two unbounded PCollections. It is tempting because DoFns can perform arbitrary logic, but it is the right choice for element-wise transformation, filtering or enrichment, not for key-based correlation of two streams.

  • ✗

    Flatten

    Why it's wrong here

    Flatten merges multiple PCollections of the same type into one, preserving no key relationship, so no join occurs. It is tempting because it combines collections, but it is designed for concatenating homogeneous inputs, not correlating records across two sources by a shared key.

  • ✓

    CoGroupByKey

    Why this is correct

    CoGroupByKey performs a relational join of two or more PCollections sharing a common key type, emitting grouped values per key. It is the designated transform for joining unbounded PCollections, unlike side inputs or per-element lookups that cannot correlate streams.

  • ✗

    GroupByKey

    Why it's wrong here

    GroupByKey groups values per key within a single PCollection; it cannot correlate records from two separate sources. It is tempting because grouping is a join building block, but it is the correct choice only after a CoGroupByKey or when aggregating one collection's values by key.

About these practice questions

Courseiva writes every PDE question from scratch — 747 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.