Faust: Stream Processing Using Windowing Operations

Faust 1.10    |    Expert
  • 13 videos | 1h 28m 12s
  • Includes Assessment
  • Earns a Badge
Likes 5 Likes 5
When working with data, windows are a handy tool to accumulate data subsets from input streams and perform aggregation operations on this specific data. In this course, you'll learn how to perform stream processing through windowing operations in Faust. You'll start by examining the different windowing operations possible on input streams, including tumbling, sliding, count, session, and global windows. Next, you'll distinguish the three notions of time associated with streaming events: event, ingestion, and processing time. You'll then use Faust window features to perform windowing operations on input streams and emit aggregation results for every window. Finally, you'll use the REST API server, which all Faust applications have, to make streaming code metrics and table data accessible to the user. Once you're done with this course, you'll be able to use windowing operations via Faust and expose metrics using web views.


  • discover the key concepts covered in this course
    summarize how windowing operations work on input streams
    recall the different types of windows supported by Faust and their characteristics
    recall the differences between event time, ingestion time, and processing time
    implement processing time tumbling windows
    aggregate data on a per-key, per-window basis
    contrast tumbling windows and hopping windows
  • use the key index to iterate over keys, values, and items in windowed tables
    implement event time hopping windows
    use web views to monitor metrics associated with workers
    handle GET, PUT, POST, DELETE, and HTTP requests with web views
    access tables from web views
    summarize the key concepts covered in this course


  • 2m 32s
    In this video, you will learn more about your instructor and this course. In this course, you’ll learn what a window is and how windows can be used to accumulate subset of data from the input stream. You will learn to perform aggregation operations on this data and study the different kinds of windowing operations possible on input streams. You’ll also learn more about Faust applications.   FREE ACCESS
  • 4m 38s
    In this video, you’ll learn about Windowing Operations. Windowing Operations are what you will perform on input streams, when you accumulate entities within a window interval and then perform some kind of aggregation operation on the accumulated entities. You will also learn what a window operation is and about the different kinds of window operations you can perform on input streams. FREE ACCESS
  • Locked
    3.  The Characteristics of Faust Windows
    9m 22s
    In this video, you will learn how different kinds of windows work. You’ll learn about the Fixed Window, which has a pre-defined time interval. You will also learn the definition of a sliding window, You will also learn how session windows work. Session windows are variable-length windows that are not defined by time intervals. You’ll also learn how to use gap intervals. FREE ACCESS
  • Locked
    4.  The Different Notions of Time in Streaming Events
    6m 45s
    In this video, you’ll learn about elements that appear within a fixed interval of time. You’ll learn that the time at which your entity is actually processed by your stream processing system and operated on by your code, is referred to as Processing time. You’ll discover that Processing time is always chronologically after the Ingestion time, which is chronologically after the Event time. You’ll learn that Event Time is the original time an event occurred. FREE ACCESS
  • Locked
    5.  Implementing Faust Processing Time Tumbling Windows
    8m 30s
    In this video, you’ll learn about how to perform windowing operations using Faust stream processing. You will watch an onscreen demo, following along as the instructor works within a working directory called Windowing. You will take a look at windowing code and import datetime, timedelta, and other time libraries. You will move onto the next window after completing this demo. FREE ACCESS
  • Locked
    6.  Performing Per-key, Per-window Aggregations in Faust
    8m 31s
    In this video, you’ll watch a demo that will work with processing time tumbling windows. Processing time is the time at which your element is actually processed by a streaming code, and tumbling windows are non-overlapping windows of a fixed interval. Following the onscreen directions, you will work with the car speeds data, as you did in the previous demo. FREE ACCESS
  • Locked
    7.  Using Tumbling Windows and Hopping Windows in Faust
    10m 37s
    In this video, you’ll watch a demo that will work with tumbling windows and hopping windows. You’ll again work with cars, tracking the number of cars seen within every window interval. Once the window is closed, you’ll find the average speed of all cars. You’ll also take a look at the code and the model used to represent data in your input stream. FREE ACCESS
  • Locked
    8.  Using the Key Index for Granular Access in Faust
    6m 51s
    In this video, you will learn to iterate over all of the keys values and items in a windowed table. You will discover how to process elements within a window and access the window set object backed by a table. You’ll learn Faust makes it possible for you to examine the contents of this windowed table at any point in time. You’ll learn you can use this for debugging rather than in a production environment. FREE ACCESS
  • Locked
    9.  Implementing Event Time Hopping Windows in Faust
    6m 39s
    In this video, you will watch a demo. In this demo, you’ll continue working with hopping windows. You’ll discover how to work with event time windows in Faust. Event time is the time associated with when the event actually occurred. You’ll learn that event time is only known if the event time is embedded within your records. Following onscreen directions, you’ll learn how to set up an event time windowing system in Faust. FREE ACCESS
  • Locked
    10.  Using Web Views to Monitor Workers in Faust
    6m 50s
    In this video, you will learn to monitor and observe worker instances and learn ways for these worker instances to expose their current status. You’ll also learn how to track other metrics of processing per worker instance using Faust. You’ll discover how this allows you to expose metrics from a worker and also get the current status of the worker.   FREE ACCESS
  • Locked
    11.  Handling Various Requests Using Web Views and Faust
    8m 42s
    In this video, you will follow a demo that uses Faust to run on your worker instance, to expose, get, put, post, and delete request, allowing you to create, read, update and delete operations (CRUD) on certain metrics that you will expose from a web server. You’ll also learn how to make a post request to update a counter. FREE ACCESS
  • Locked
    12.  Accessing Faust Tables from Web Views
    In this video, you will follow a demo that enables you to access information that has been stored in tables. Following onscreen directions, you’ll learn how to get the latest value available within your table state. You’ll discover how to expose a value stored in a table via a web view. FREE ACCESS
  • Locked
    13.  Course Summary
    2m 17s
    This video summarizes the entire course. You’ve learned how windows on input streams allow you to accumulate a subset of entities in the stream in order to perform aggregation operations on this subset. You learned what a window is and explored different kinds of windows that you may work with in a stream processing system. You also explored tumbling windows, also called fixed windows, and sliding windows, which are also referred to as hopping windows. FREE ACCESS


Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.