Courseiva

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.

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 →

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.