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…
Question
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)- A5% (1)
- B15% (3)
- C5% (1)
- D75% (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
Community Discussion
No community discussion yet for this question.