
Explore the need for streaming over batch, real-time insights, and the challenges like low latency, fault tolerance, event time handling, windowing, and recovery in Spark structured streaming 3.0.
Learn to build a Spark structured streaming application with input from sources like Kafka or socket, transform with dataframe operations, and output to console or sinks using micro-batch triggers.
Write your first structured streaming application with Spark, reading from a net server, performing a word-count on streaming data, and monitoring via Spark UI and streaming metrics.
Understand watermarking in stream processing using event time and a threshold to bound state and manage late data. See how append and update output modes finalize windows and control data.
Learn how Kafka's distributed, fault-tolerant broker uses a publish-subscribe model with producers and consumers, topics and partitions, offsets, and zookeeper coordination for real-time and batch data pipelines.
Learn how Spark Structured Streaming 3.0 joins impressions and clicks by ad id within a 10-second window, using five-second watermarks to output materialized impressions.
We'll observe how Spark Structured Streaming fits into the landscape of big data projects
Getting faster action from the data is the need of many industries and Stream Processing helps doing just that. But it comes with its own set of theories, challenges and best practices.
Apache Spark has seen tremendous development being in stream processing. The rich features of Spark Structured Streaming introduces a learning curve and this course is aimed at bringing all those concepts in a friendly and easy to reflect manner. Structured Streaming is a scalable and fault-tolerant stream processing engine built on the Spark SQL engine. You can express your streaming computation the same way you would express a batch computation on static data. The Spark SQL engine will take care of running it incrementally and continuously and updating the final result as streaming data continues to arrive. It allows data engineers and data scientists to process real-time data from various sources including (but not limited to) Kafka, Flume, and Amazon Kinesis.
This illustrative course will build your foundational knowledge. You will learn the differences between batch & stream processing, programming model, the APIs and the challenges specific to stream processing. Quickly we'll move to understand the concepts of stream processing with wide varieties of examples & hands-on, dealing with inner working and taking a use case towards the end. All of this activity will be on cloud using Spark 3.0.