Structured Streaming in Apache Spark 2
Many sources of data in the real world are available in the form of streams; from self-driving car sensors to weather monitors. Apache Spark 2 is a powerful, distributed, analytics engine which offers great support for streaming applications
What you'll learn
Stream processing applications work with continuously updated data and react to changes in real-time. Data frames in Spark 2.x support infinite data, thus effectively unifying batch and streaming applications. In this course, Structured Streaming in Apache Spark 2, you'll focus on using the tabular data frame API to work with streaming, unbounded datasets using the same APIs that work with bounded batch data. First, you'll start off by understanding how structured streaming works and what makes it different and more powerful than traditional streaming applications; the basic streaming architecture and the improvements included in structured streaming allowing it to react to data in real-time. Then you'll create triggers to evaluate streaming results and output modes to write results out to file or screen. Next, you'll discover how you can build streaming pipelines using Spark by studying event time aggregations, grouping and windowing functions, and how to perform join operations between batch and streaming data. You'll even work with real Twitter streams and perform analysis on trending hashtags on Twitter. Finally, you'll then see how Spark stream processing integrates with the Kafka distributed publisher-subscriber system by ingesting Twitter data from a Kafka producer and process it using Spark Streaming. By the end of this course, you'll be comfortable performing analysis of stream data using Spark's distributed analytics engine and its high-level structured streaming API.
Table of contents
- Version Check 0m
- Module Overview 1m
- Prerequisites and Course Outline 2m
- Resilient Distributed Datasets (RDDs) 3m
- Streaming Architecture and the Stream Processing Model 6m
- Stream Processing Using Micro-batches in Spark 1 3m
- Spark 1 vs. Spark 2 3m
- Batch as a Prefix of Stream 3m
- Demo: Install and Setup Spark, Kafka, and Python Packages 5m
- Continuous Applications Using Structured Streaming 6m
- Triggers and Output Modes 7m
- Unified APIs For Batch And Streaming 1m
- Demo: Word Count with Streaming Data 8m
- Module Overview 1m
- Demo: Append Mode 7m
- Demo: Complete Mode 3m
- Demo: Aggregations on Streaming Data 4m
- Demo: SQL Queries on Streaming Data 2m
- Demo: Using a UDF to Mimic Event Time 3m
- Demo: Grouping on Timestamp and Explicit Triggers 2m
- Stateful Window Operations 3m
- Tumbling and Sliding Windows 4m
- Event, Ingestion, and Processing Time 2m
- Demo: Window Operations 3m
- Watermarks and Late Data 5m
- Demo: Twitter Keys and Access Tokens 3m
- Demo: Using Tweepy to Connect to Twitter Streaming 4m
- Demo: Count Hashtags in Twitter Streaming Data 4m
- Demo: Count Hashtags in a Twitter Stream Using Windows 3m
- Demo: Joining Batch and Streaming Data 3m
- Demo: Joins to Calculate Average Spend by Gender 2m
- Demo: Aggregating Ratings by Age 2m
- Demo: Windowed Joins 3m