Streaming Feature Engineering
Streaming feature engineering turns continuously arriving events into current model inputs. It keeps per-entity state, applies time-aware windows, and makes the resulting values available for both live predictions and historically correct training data.
itArtificial intelligence and machine learning | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
Streaming Feature Engineering
Streaming feature engineering converts an unbounded flow of events into model inputs that update as new events arrive. A transaction count for the last ten minutes, time since an account's previous login, or current session value can all be streaming features. The computation runs continuously because a live prediction cannot wait for the next batch job.
The central difficulty is not the arithmetic. It is preserving meaning across time. Each event has an entity key, an event timestamp, and a payload. The pipeline must decide which events belong together, which time interval contributes to each value, how long to wait for late events, and how corrections reach training and serving systems.
Architecture and data flow
A typical path has six stages:
- An event source records facts such as views, payments, or sensor readings.
- A stream processor validates each event, assigns or reads its event timestamp, and partitions it by entity key.
- A stateful transformation retains the information needed for windows, joins, counters, or recency calculations.
- The processor emits a feature value with its entity key and feature timestamp.
- An online store keeps a serving-ready value for low-latency inference. An offline history keeps timestamped values for training and replay.
- A model service retrieves the current feature vector for an entity. A training job uses a point-in-time join to reconstruct values as they existed at each labeled event.
The stream processor and feature store solve different parts of this path. Apache Flink, Apache Spark Structured Streaming, Apache Kafka Streams, and similar engines compute stateful transformations. Feature platforms such as Feast catalog feature definitions and connect historical retrieval with online serving. Some managed platforms combine both responsibilities.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/streaming_analytics/
Supports
- Event time, processing time, watermarks, lateness, and tumbling, sliding, and session windows
- Latency and completeness tradeoffs in intro, slides, cheatsheet, quiz, links, video, and infographic
- https://nightlies.apache.org/flink/flink-docs-stable/docs/concepts/stateful-stream-processing/
Supports
- Keyed state partitioning, checkpoints, savepoints, recovery, and rescaling
- State and failure claims in intro, slides, cheatsheet, quiz, links, video, and infographic
- https://nightlies.apache.org/flink/flink-docs-stable/api/java/org/apache/flink/api/common/eventtime/Watermark.html
Supports
- Watermarks as progress indicators and heuristic handling of late events
- Watermark quiz answer and infographic mental model
- https://nightlies.apache.org/flink/flink-docs-stable/docs/ops/debugging/debugging_event_time/
Supports
- Combined watermark progress being governed by the furthest-behind input
- Stalled-watermark diagnostic guidance
- https://beam.apache.org/documentation/programming-guide/
Supports
- Windows, triggers, panes, accumulation modes, early and late firings, and allowed lateness
- Late-data correction and tradeoff claims in intro, quiz, links, and video
- https://spark.apache.org/docs/latest/streaming/index.html
Supports
- Incremental stream processing, event-time windows, watermarks, state, and fault tolerance
- Spark reference rationale, rollout quiz answer, and landscape placement
- https://docs.feast.dev/getting-started/concepts/point-in-time-joins
Supports
- Point-in-time joins, entity timestamps, time-to-live bounds, and exclusion of future values
- Training retrieval claims and quiz answers
- https://docs.feast.dev/getting-started/architecture/overview
Supports
- Streaming feature ingestion, offline and online paths, registry, materialization, and retrieval roles
- Feature-store boundary in intro, links, and landscape
- https://research.google.com/pubs/pub43864.html
Supports
- Correctness, latency, and cost tradeoffs for unbounded out-of-order data
- Event time, windows, watermarks, and triggers as explicit processing choices
- Reference path, batch-versus-streaming quiz answer, and 2015 timeline event
- https://research.google/pubs/timely-dataflow-a-model/
Supports
- Virtual-time and progress model for data-parallel computation
- Timely Dataflow timeline event
- https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store.html
Supports
- Online latest records, offline history, event time, streaming ingestion, and low-latency retrieval
- Freshness quiz distinction and SageMaker landscape placement
- https://github.com/sindresorhus/awesome
Supports
- Discovery route to the Streaming list under Big Data
- https://github.com/manuzhang/awesome-streaming
Supports
- Discovery of Bytewax, Pathway, Quix Streams, and RisingWave
- Ecosystem categories and project selection for Awesome Links
- https://github.com/kelvins/awesome-mlops
Supports
- Discovery of Feathr and Featureform in the feature-store ecosystem
- https://docs.bytewax.io/
Supports
- Python dataflows, stateful processing, recovery, and event-time capabilities
- Bytewax Awesome Link rationale
- https://pathway.com/developers/
Supports
- Incremental processing of live and historical data with Python APIs
- Pathway Awesome Link rationale
- https://quix.io/docs/quix-streams/introduction.html
Supports
- Kafka-oriented Python stream processing, stateful operations, windows, and time-series data
- Quix Streams Awesome Link rationale
- https://docs.risingwave.com/
Supports
- Streaming SQL, materialized views, event streams, change data capture, and feature-store use
- RisingWave Awesome Link rationale and landscape placement
- https://feathr-ai.github.io/feathr/
Supports
- Feature definitions, transformations, point-in-time joins, registry, and online materialization
- Feathr Awesome Link rationale
- https://docs.featureform.com/
Supports
- Virtual feature-store architecture, registered transformations, providers, training sets, and serving
- Featureform Awesome Link rationale
- https://flink.apache.org/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/
Supports
- Storm's 2011 open-source release and early distributed stream-processing role
- First timeline event
- https://blogsarchive.apache.org/foundation/entry/the_apache_software_foundation_announces64
Supports
- Storm's September 2014 graduation to an Apache top-level project
- Second timeline event
- https://flink.apache.org/2014/08/26/apache-flink-0.6-available/
Supports
- First Flink release in the Apache Incubator under the Flink name
- Third timeline event
- https://www.confluent.io/blog/log-compaction-highlights-in-the-apache-kafka-and-stream-processing-community-june-2016/
Supports
- Kafka 0.10 release with Kafka Streams and message timestamps in June 2016
- Kafka Streams timeline event and landscape role
- https://www.uber.com/us/en/blog/michelangelo-machine-learning-platform/
Supports
- Michelangelo's centralized feature store and online and offline feature consumption
- 2017 timeline event
- https://www.hopsworks.ai/post/feature-store-the-missing-data-layer-in-ml-pipelines
Supports
- Hopsworks open-source feature-store publication in December 2018
- 2018 timeline event
- https://cloud.google.com/blog/products/ai-machine-learning/introducing-feast-an-open-source-feature-store-for-machine-learning
Supports
- Feast's January 2019 open-source release and stated feature management purpose
- 2019 timeline event
- https://flink.apache.org/what-is-flink/flink-architecture/
Supports
- Flink stateful computation, event time, checkpoints, and landscape placement
- https://kafka.apache.org/documentation/streams/
Supports
- Embedded Kafka Streams applications, stateful transformations, windows, and joins
- Kafka Streams landscape placement
- https://docs.tecton.ai/docs/introduction
Supports
- Batch, streaming, request-time, offline, and online feature lifecycle
- Tecton landscape placement
- https://docs.hopsworks.ai/latest/concepts/fs/
Supports
- Feature groups, feature views, Python, Spark, Flink and SQL pipelines, point-in-time joins, offline and online APIs
- Hopsworks landscape placement
- https://docs.databricks.com/aws/en/machine-learning/feature-store/
Supports
- Feature tables, lineage, training lookups, Spark and Delta integration, and online serving
- Databricks landscape placement
- https://docs.snowflake.com/en/developer-guide/snowflake-ml/feature-store/overview
Supports
- Feature views, managed refresh, transformations, and point-in-time retrieval
- Snowflake landscape placement
