Apache Spark Streaming with Python and PySpark
What is this course about?
This course covers all the fundamentals about Apache Spark streaming with Python and teaches you everything you need to know about developing Spark streaming applications using PySpark, the Python API for Spark. At the end of this course, you will gain in-depth knowledge about Spark streaming and general big data manipulation skills to help your company to adapt Spark Streaming for building big data processing pipelines and data analytics applications. This course will be absolutely critical to anyone trying to make it in data science today.
What will you learn from this Apache Spark streaming cour?
In this Apache Spark streaming course, you’ll learn the following:
- An overview of the architecture of Apache Spark.
- How to develop Apache Spark streaming applications with PySpark using RDD transformations and actions and Spark SQL.
- How to work with Spark’s primary abstraction, resilient distributed datasets(RDDs), to process and analyze large data sets.
- Advanced techniques to optimize and tune Apache Spark jobs by partitioning, caching and persisting RDDs.
- Analyzing structured and semi-structured data using Datasets and DataFrames, and develop a thorough understanding of Spark SQL.
- How to scale up Spark Streaming applications for both bandwidth and processing speed
- How to integrate Spark Streaming with cluster computing tools like Apache Kafka
- How to connect your Spark Stream to a data source like Amazon Web Services (AWS) Kinesis
- Best practices of working with Apache Spark streaming in the field.
- Big data ecosystem overview.
Why should you learn Apache Spark streaming?
Spark streaming is becoming incredibly popular, and with good reason. According to IBM, Ninety percent of the data in the world today has been created in the last two years alone. Our current output of data is roughly 2.5 quintillion bytes per day. The world is being immersed in data, moreso each and every day. As such, analyzing static dataframes of non-dynamic data becomes the less practical approach to more and more problems. This is where data streaming comes in, the ability to process data almost as soon as it’s produced, recognizing the time-dependency of the data.
Apache Spark streaming gives us unlimited ability to build cutting-edge applications. It is also one of the most compelling technologies of the last decade in terms of its disruption to the big data world. Spark provides in-memory cluster computing which greatly boosts the speed of iterative algorithms and interactive data mining tasks.
Spark also is a powerful engine for streaming data as well as processing it. The synergy between them makes Spark an ideal tool for processing gargantuan data firehoses.
Tons of companies, including Fortune 500 companies, are adapting Apache Spark streaming to extract meaning from massive data streams, today you have access to that same big data technology right on your desktop.
What programming language is this Apache Spark streaming course taught in?
This Apache Spark streaming course is taught in Python. Python is currently one of the most popular programming languages in the world! It’s rich data community, offering vast amounts of toolkits and features, makes it a powerful tool for data processing. Using PySpark (the Python API for Spark) you will be able to interact with Apache Spark Streaming’s main abstraction, RDDs, as well as other Spark components, such as Spark SQL and much more!
Let’s learn how to write Apache Spark streaming programs with PySpark Streaming to process big data sources today!
30-day Money-back Guarantee!
You will get 30-day money-back guarantee from Udemy for this Apache Spark streaming course.
If not satisfied simply ask for a refund within 30 days. You will get a full refund. No questions whatsoever asked.
Are you ready to take your big data analysis skills and career to the next level, take this course now!
You will go from zero to Spark streaming hero in 4 hours.
Getting started with Apache Spark Streaming
Course Instructor Introduction, and Course Overview.
Some quick tips and guidelines on how to get the most out of this course.
Introduction to streaming, and what makes Spark Streaming Unique.
Tutorial for setting up a Ubuntu virtual machine (if you're using Windows or Mac), installing Spark and Scala, as well as installing PySpark and making it compatible with Jupyter Notebooks.
(we know this is advanced, but we figured we'd give you a glimpse of the kinds of applications you can create with PySpark Streaming)
This lecture introduces the basic abstraction of PySpark Streaming: Discretized Streams and RDDs.
A demo of how to actually create Discretized Streams.
Examples of the basic operations and transformations on DStreams.
An overview of the more versatile `Transform` operation, and how to use it.
A general overview of the Window operations in PySpark Streaming.
How to use the specific `window()` function.
How to use the specific `countByWindow()` function.
How to use the specific `reduceByKeyAndWindow()` function.
How to use the specific `countByValueAndWindow()` function.
Options for output operations on the data you process in a DStream.
A more in-depth look at the `forEachRDD()` output operation.
How to use SQL-like queries on the data in your Spark stream.
This lecture reviews everything we've learned in section 2. We also have an exercise that utilizes many of the concepts from the previous lectures.
Advanced Spark Concepts
How to use join operations on multiple data streams, as well as data streams and static dataframes.
How to use stateful transformations (like updateStateByKey), which retain memory of the previous streaming operations.
A more in-depth look at how to use checkpointing in PySpark Streaming.
A look at a more esoteric option (but nonetheless useful in debugging) in Pyspark Streaming: Accumulators.
We've been talking a lot about Fault-tolerance, but we will explore what exactly that means at a higher conceptual level.
PySpark Streaming at Scale
Some considerations to keep in mind when tuning your spark stream for greater performance, or operating at a largr scale.
Basics of integrating PySpark with Apache Kafka (an incredibly useful cluster computing tool created at LinkedIn) as a Streaming source.
Amazon Kinesis is very useful for large-scale streaming, especially for highly data-intensive applications such as video streaming. We'll go into how to get AWS connected to your spark stream.
As of Spark 2.0, pyspark has had a new paradigm for streaming large amounts of data: Structured Streaming. This results in performance enhancements for certain applications, as well as streams that highly resemble SQL data tables.
Since Structured Streaming makes streams look so much like Dataframes, we'll look at how you can use Structured Streaming to operate on both of them.
Remember window operations? Let's look at how they work for Structured Streaming.
We mentioned watermarking in the previous lecture, but here we will go into what that involves, and how this relates to handling data that comes in late from your streaming source.
Congratulations! You've made it to the end of this course! This video will show you what an amazing achievement this is.
We'll also give you some tips on how to continue your learning.