Faust: Performing Operations & Maintaining State Using Tables
Faust 1.10
| Expert
- 15 videos | 1h 37m 43s
- Includes Assessment
- Earns a Badge
Faust streams support a wide range of operations. In this course, you'll learn how to perform several of these. You'll also work with Faust tables - which store state in the form of key-value pairs and allow for the recovery of failed processing, making Faust fault-tolerant. You'll start off by using the group by operation to designate a key used to repartition an input stream and create a new topic in Kafka. You'll then use the items() operation to access the key and message value and take() operation to buffer multiple elements in a stream. Next, you'll work with tables to conduct stateful stream processing, illustrating how table data is stored in an embedded RocksDB database. When you've finished this course, you'll be able to apply a wide range of operations on input streams and perform stateful stream processing using tables.
WHAT YOU WILL LEARN
-
Discover the key concepts covered in this coursePerform group-by operations on streamsPerform group-by and items operations on streamsAccess raw events and buffer events before performing operationsEnumerate entities in a stream with a single agent and with multiple agentsForward messages to destination topicsFilter stream recordsPerform word count using tables
-
Save table state to an embedded rocksdb databasePerform grouping operations and understand table shardingCompute aggregations on streaming dataPerform multiple grouping operations with the right agent structureProcess streaming elements using multiple worker instancesRecall the different kinds of sinks that can be used with a faust agentSummarize the key concepts covered in this course
IN THIS COURSE
-
2m 12sIn this video, you’ll learn more about the instructor and the course. In this course, you’ll learn more about the operations supported by streams in Faust. You will discover how the groupBy operation allows you to designate a key that is used to repartition an input stream and create a new topic in Kafka. You’ll also learn how to use tables in Faust for stateful stream processing. FREE ACCESS
-
7m 55sIn this video, you’ll watch a demo that explores some of the operations you can perform on input streams using Faust stream processing. You’ll work within a new folder, using your current working directory. You’ll learn more about how these operations work, and how data from an input stream is sent to agents for processing. FREE ACCESS
-
8m 50sIn this video, you’ll watch a demo that shows how you can use the items operation on a stream to iterate over both the key as well as the value for all of the messages in the input stream. You’ll use the same setup for this stream processing application. You’ll follow onscreen directions and see the key variable contains the message key. And you’ll discover the loan record is the actual message value. FREE ACCESS
-
8m 14sIn this video, you will watch a demo. Here, you’ll learn that within Faust, if you need access to this metadata, it's possible to get access using the events operation. Here, you’ll learn to the events operation that will allow you to iterate over raw event values including access to the original message payload and message metadata. In this demo, you'll use a subset of the metadata information that is accessible for every event. FREE ACCESS
-
5m 6sIn this video, you will watch a demo. In this demo, you will learn another operation that can be used to perform an input stream in Faust. You'll follow directions to learn how to get an index associated with every element of a string using enumerate. You will set up the application and set up a topic to listen to. FREE ACCESS
-
6m 5sIn this video, you will watch a demo. In this demo, you will learn that the stream processing you want to perform on messages you receive from a topic is to simply forward those messages to a new different topic. Following onscreen directions, you’ll learn this is possible using the through operation in Faust. Onscreen, you’ll see an async for loop, which iterates over the loan records in your stream. FREE ACCESS
-
3m 10sIn this video, you will watch a demo. In this demo, you’ll learn how to filter out a record before you perform stream processing. You’ll learn how to use the filter operation. The filter operation operates on the stream before you process the stream, which allows you to filter records before repartitioning the stream. Filtering omits records that you don’t want. FREE ACCESS
-
11m 18sIn this video, you will watch a demo. In this demonstration, you’ll explore how stream processing can be more useful if you have the ability to maintain state. You’ll learn how to maintain state using tables. First, you’ll look at our current working directory because it’s changed. You’ll open a folder, then a subfolder following the onscreen directions. Then, you’ll perform a basic hello world operation for stateful stream processing the word count. FREE ACCESS
-
7m 2sIn this video, you will watch a demo. You’ll use the current application under the tables folder. You’ll discover every Faust application has a data directory. In this demo, you’ll follow onscreen directions to utilize a data directory called word-count-data and its subfolder, called tables. You’ll learn that any data associated with a worker instance will be stored on the same hardware where your worker instance runs. Following onscreen directions, you will run code. FREE ACCESS
-
5m 53sIn this video, you will watch a demo. In this demonstration, you will move beyond word count and return to the earlier loan processing application. You’ll following onscreen directions to utilize tables to count the number of applicants with the different kinds of degrees. You’ll learn a grouping and counting operation using tables. You'll also learn how tables and grouping go together when working in a production environment. FREE ACCESS
-
7m 5sIn this video, you will watch a demo. In this demonstration, you will learn how to compute the average income for loan applicants based on their degree. You’ll follow directions to compute an average for applicants with high school degrees, with college degrees, and then graduate degrees. You’ll set up a model of a Faust application and the loan details topic to reach real listen for a publish messages. FREE ACCESS
-
5m 29sIn this video, you’ll watch a demo. First, you’ll review how grouping works in Faust. You’ll learn that when you perform a grouping operation, your stream is repartitioned and the key that you group by is associated with every message in your input stream. You’ll discover Faust ensures all messages with the same key are sent for processing to the same worker instance. Following directions, you’ll look at three different workers running stream processing code. FREE ACCESS
-
5m 24sIn this video, you’ll watch a demo. In this demo, you'll see how to run multiple worker instances to process your streaming data. You'll bring up these workers on the same local machine. You’ll use a grouping operation to see how all messages with the same key are always sent to the same worker instance. FREE ACCESS
-
11m 47sIn this video, you’ll watch a demo. In this demo, you'll learn how you can use sinks in your stream processing. First, you’ll learn what a sink is in Faust. These are a part of your stream processing in Faust. They are used to perform additional actions after an agent has completed processing an event. A sink is used when you've completed processing your event. FREE ACCESS
-
2m 13sIn this video, you’ll summarize the course. In this course, you’ve learned how to perform stateful transformation on input streams using force tables and explores the range of operations that you can perform on streams, such as grouping, filtering, and aggregations. You learned about the wide range of operations supported by streams and Faust. And you discovered how the group by operation allows you to designate a key that’s used to repartition or input stream. FREE ACCESS
EARN A DIGITAL BADGE WHEN YOU COMPLETE THIS COURSE
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.