nerdexam
Google

PROFESSIONAL-DATA-ENGINEER · Question #140

Your company is currently setting up data pipelines for their campaign. For all the Google Cloud Pub/Sub streaming data, one of the important business requirements is to be able to periodically…

The correct answer is D. They have not applied a non-global windowing function, which causes the job to fail when the pipeline is created. When performing aggregations or GroupByKey operations on unbounded (streaming) PCollections in Dataflow, you must apply a non-global windowing function (fixed, sliding, or session windows) - without it, the pipeline fails at creation time because Dataflow has no finite boundary…

Submitted by andres_qro· Mar 30, 2026Building and operationalizing data processing systems

Question

Your company is currently setting up data pipelines for their campaign. For all the Google Cloud Pub/Sub streaming data, one of the important business requirements is to be able to periodically identify the inputs and their timings during their campaign. Engineers have decided to use windowing and transformation in Google Cloud Dataflow for this purpose. However, when testing this feature, they find that the Cloud Dataflow job fails for the all streaming insert. What is the most likely cause of this problem?

Options

  • AThey have not assigned the timestamp, which causes the job to fail
  • BThey have not set the triggers to accommodate the data coming in late, which causes the job to fail
  • CThey have not applied a global windowing function, which causes the job to fail when the pipeline is created
  • DThey have not applied a non-global windowing function, which causes the job to fail when the pipeline is created

How the community answered

(20 responses)
  • A
    5% (1)
  • B
    15% (3)
  • C
    5% (1)
  • D
    75% (15)

Explanation

When performing aggregations or GroupByKey operations on unbounded (streaming) PCollections in Dataflow, you must apply a non-global windowing function (fixed, sliding, or session windows) - without it, the pipeline fails at creation time because Dataflow has no finite boundary to trigger result emission. Global windowing (option C) is actually the default in Dataflow, so the problem is the absence of a non-global window, not a global one. Option A is wrong because unset timestamps don't cause job failure - Pub/Sub messages carry event timestamps automatically, and processing time is used as a fallback. Option B is wrong because triggers govern late-data handling, and missing them won't fail a pipeline; default triggers exist for all windows.

Memory tip: Think "streaming = infinite data needs a fence." A non-global window (e.g., 5-minute fixed) is the fence that tells Dataflow when to close a group and emit results - without that fence, an aggregation on an infinite stream can never complete, so Dataflow refuses to even start the job.

Topics

#Dataflow#Streaming Data#Windowing#Pipeline Failure

Community Discussion

No community discussion yet for this question.

Full PROFESSIONAL-DATA-ENGINEER Practice