Search NASA⌕ Search

DOE OSTI · 1823361

Watermarks in stream processing systems: semantics and comparative analysis of Apache Flink and Google cloud dataflow

Abstract

Streaming data processing is an exercise in taming disorder: from oftentimes huge torrents of information, we hope to extract powerful and timely analyses. But when dealing with streaming data, the unbounded and temporally disordered nature of real-world streams introduces a critical challenge: how does one reason about the completeness of a stream that never ends? In this paper, we present a comprehensive definition and analysis of watermarks, a key tool for reasoning about temporal completeness in infinite streams.First, we describe what watermarks are and why they are important, highlighting how they address a suite of stream processing needs that are poorly served by eventually-consistent approaches:• Computing a single correct answer, as in notifications.• Reasoning about a lack of data, as in dip detection.• Performing non-incremental processing over temporal subsets of an infinite stream, as in statistical anomaly detection with cubic spline models.• Safely and punctually garbage collecting obsolete inputs and intermediate state.• Surfacing a reliable signal of overall pipeline health.Second, we describe, evaluate, and compare the semantically equivalent, but starkly different, watermark implementations in two modern stream processing engines: Apache Flink and Google Cloud Dataflow.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Akidau, Tyler, Begoli, Edmon, Chernyak, Slava, Hueske, Fabian, Knight, Kathryn, Knowles, Kenneth, Mills, Daniel, Sotolongo, Dan. 2021-09-01. Watermarks in stream processing systems: semantics and comparative analysis of Apache Flink and Google cloud dataflow. https://doi.org/10.14778/3476311.3476389

Cite the original work for its findings. Save a collection to share your selection of sources.