Skip to main content
CF

Apache Flink

8h 31m 38s
English
Paid

Apache Flink is a robust distributed system and computational engine designed for stateful big data streaming. In simpler terms, Apache Flink is a library that empowers you to process large volumes of data at scale, as it arrives, providing near real-time results. Flink offers a variety of APIs for functional programming on streaming data, along with low-level APIs that provide ultimate control. It also supports numerous connectors to popular services like Kafka, JDBC, Cassandra, Pulsar, S3, and a range of data processors and storage systems. This course is designed to help you become productive with Flink, enhancing your skills as a data engineer.

What You Will Learn

This course will provide you with everything you need to be proficient with Flink:

  • Gain a deep understanding of the Flink streaming engine and its inner workings
  • Apply functional programming techniques to data streams
  • Process any type of data in real-time at scale
  • Master complex transformations, including window functions
  • Perform stateful computations, leveraging Flink's main strengths
  • Connect Flink to popular message buses, data streaming, and data storage systems
  • Design custom connectors for specific needs
  • Deploy Flink applications on a cluster effectively
  • Troubleshoot and acquire relevant insights using the Flink UI

Upon completing this course, you'll have the capacity to process data using Flink in any way you require.

Long-Term Benefits

Beyond technical skills, this course will help you build timeless abilities that will benefit your career in data engineering, regardless of the data streaming tool you choose in the future:

  • Develop a deep understanding of the practical benefits of streaming data
  • Effectively work with both event time and processing time
  • Grasp the implications and trade-offs between latency and throughput
  • Understand the necessity of data consistency and persistence

Additional

https://github.com/rockthejvm/flink

About the Author: Rock the JVM

Rock the JVM thumbnail

Rock the JVM (rockthejvm.com) is a Romania-based JVM-focused training platform run by Daniel Ciocîrlan — focused entirely on Scala, the broader JVM ecosystem, and the data-engineering / streaming stack built on top of it (Spark, Flink, Kafka). The platform is one of the most authoritative independent sources on Scala and functional programming on the JVM.

The CourseFlix listing carries four Rock the JVM courses: Scala & Functional Programming for Beginners, Cats (the Scala functional-programming library), Spark Streaming with Scala, and Apache Flink. The teaching style is unusually rigorous about the functional-programming fundamentals underneath the framework material.

Material is paid and aimed at engineers picking up Scala or building data-streaming systems on the JVM. For broader content, see CourseFlix's Scala, Java, and Messaging & Streaming category pages.

Watch Online 30 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 30 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome
All Course Lessons (30)
#Lesson TitleDurationAccess
1
Welcome Demo
11:59
2
Scala Recap
31:05
3
Flink: First Principles
16:42
4
DataStreams
14:15
5
DataStreams: Exercise
15:07
6
DataStreams: Explicit Transformations
14:57
7
Handling Late Data: Watermarks
05:22
8
Window Functions
28:56
9
Window Functions, Part 2
26:33
10
Window Functions: Exercise
12:48
11
Time Based Transformations
33:15
12
Triggers
16:38
13
Handling Multiple Streams
33:36
14
Partitions
14:33
15
State First Principles
03:55
16
Rich Functions
22:05
17
Keyed State
24:10
18
Keyed State, Part 2
19:21
19
Checkpoints
20:16
20
Broadcast State
18:35
21
Integrations: Kafka
25:07
22
Integrations: JDBC
12:11
23
Integrations: Cassandra
09:44
24
Custom Sources
24:11
25
Custom Sinks
16:47
26
Side Outputs
08:07
27
How Flink Runs on a Cluster
07:17
28
Managing and Submitting Applications
13:48
29
Managing Applications in the Flink UI
09:47
30
You Rock!
00:31
Unlock unlimited learning

Get instant access to all 29 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Books

Read Book Apache Flink

#TitleTypeOpen
1Book 1 PDF
2Book 2 PDF
3Book 3 PDF
4Book 4 PDF
5Book 5 PDF
6Book 6 PDF
7Book 7 PDF
8Book 8 PDF
9Book 9 PDF
10Book 10 PDF
11Book 11 PDF

Related courses

Frequently asked questions

What are the prerequisites for this Apache Flink course?
The course includes a lesson titled 'Scala Recap,' suggesting that a basic understanding of Scala is beneficial. Familiarity with distributed systems and data streaming concepts would also help, although the course covers foundational topics like Flink's first principles and data streams to build your knowledge from the ground up.
What types of projects will I be able to build after completing this course?
After completing the course, you will be able to build projects that involve real-time data processing at scale. This includes applications leveraging complex transformations like window functions, stateful computations, and integrations with systems like Kafka, JDBC, and Cassandra. You'll also learn to design custom connectors and deploy Flink applications on a cluster.
Who is the target audience for this Apache Flink course?
The course is designed for data engineers looking to enhance their skills in stateful big data streaming. It is suitable for those who want to gain proficiency in processing large volumes of data in real-time using Apache Flink's various APIs and integration capabilities.
How does this course compare in depth to other data streaming courses?
This course provides a deep dive into the Apache Flink streaming engine, focusing on its inner workings and stateful computations. It covers advanced topics such as window functions, keyed state, and custom sources and sinks, offering a comprehensive understanding compared to courses that might only offer a broad overview of multiple streaming technologies.
Which platforms and tools does the course cover for integrations?
The course covers integrations with several popular platforms and tools, including Kafka for message streaming, JDBC for database connectivity, Cassandra for distributed storage, and S3 for cloud storage. It also explores designing custom connectors and leveraging Flink's capabilities to integrate with various data processors and storage systems.
What topics are not covered in this Apache Flink course?
While the course covers a broad range of Flink functionalities and integrations, it does not delve into non-Flink specific data engineering tools or focus on other big data processing frameworks like Apache Spark. The primary focus remains on mastering Flink's capabilities and its applications.
What is the estimated time commitment for completing this course?
The course includes 30 lessons covering a range of topics from Flink fundamentals to complex integrations and customizations. Although the total runtime is not specified, prospective students should expect to dedicate several hours per week over a period of weeks to fully engage with the material and exercises.