A gallery's environmental controller emits a single combined reading of temperature, humidity, and lux for a given instant, and all three values in that reading always share one identical timestamp because they come from the same sampling cycle. Reporting needs one output row per sampling instant that carries all three values together, with no time-span logic involved. Which windowing function is the direct match?
Select an answer to reveal the explanation.
Short Explanation
Same instant, same row — no span, no gap, just events that tie exactly on timestamp collapsed together. That's precisely what a snapshot window groups, which makes it the fit for a controller that always stamps its readings identically.
Full Explanation
A snapshot window groups events that share an identical timestamp into a single output, with no duration or gap parameter involved at all — it is a pure same-instant grouping. Since the environmental controller's temperature, humidity, and lux values are always sampled and stamped together by design, a snapshot window combines them into one row per sampling instant directly, with no artificial time-bucket logic needed.
A tumbling window with a one-minute duration might coincidentally group the three co-timestamped readings together, but only if no other readings from that same controller happen to fall in the same one-minute bucket, and it introduces a fixed-duration concept the scenario does not need at all. A session window keys off gaps of inactivity between distinct events, which is irrelevant here since these three values are simultaneous by construction, not separated by any time gap to measure. A hopping window adds overlapping fixed spans on top of the same mismatch, making it no better suited than tumbling.
A caveat: a snapshot window depends entirely on the source reliably stamping related values with an identical timestamp; if the controller's sampling cycle ever introduces even a slight timestamp skew between the three values, they would land in separate snapshot groups instead of one combined row. Operationally, spot-check a sample of output rows to confirm each one contains exactly one temperature, humidity, and lux value tied to a single shared timestamp.