Hello and welcome to my comprehensive collection of Apache Flink learning materials. This repository is designed to be a centralized resource for anyone looking to learn or deepen their knowledge of Apache Flink, regardless of their experience level.
This collection encompasses a wide range of materials organized by and suited to different learning preferences and skill levels. From in-depth guides and documentation to interactive exercises, I've gathered resources to cater to a variety of needs.
If you have a resource that could benefit others in their understanding of Apache Flink, I encourage you to contribute. To submit a resource, please open an issue in the following format:
- Name: Title of the resource.
- Link: URL or location of the resource.
- Description: A brief summary of the resource.
- Source: The origin or creator of the resource.
- Skill Level: [Beginner, Intermediate, Advanced].
- Resource Type: [Video, Documentation, Guide or Tutorial, Blog Post, Book or Article, FAQ, Newsletter].
- Interactivity: [Hands-on Exercise, Quiz or Test, Community Forum].
- Language: [Java, Python, .NET, Go, JavaScript, Other].
I regularly review submissions to ensure the repository remains up-to-date and valuable for learners at all levels.
To keep things organized and easily accessible, I’ve implemented a simple, streamlined process. All the resources are stored in an AirTable spreadsheet, which acts as the central hub for all the content. This approach allows me to maintain and update the resources efficiently. Whenever there's a change in the contents of the spreadsheet, a script is executed to update this very README.md page. This process ensures that the information you see on this page is current and reflects the contents of the AirTable spreadsheet.
Your input and participation are what make this repository a valuable resource for everyone. If you have any questions or ideas, please don't hesitate to reach out. It is my goal to ensure that this repository remains a top-notch resource for Apache Flink knowledge. Thank you for visiting and contributing to this collaborative effort. Together, we can make learning Apache Flink accessible and effective for everyone.
Happy Learning!
P.s.: If you want to learn about Kafka, check out my Kafka Learning Resources as well.
- Apache Flink 101: The best overall introductory course to Flink from the most knowledgable expert. And it's free! | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, SQL - Building Flink Apps with Java: The best introduction
to the Java Flink APIs. | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, Java - A Developer’s Guide to Getting Started with Apache Flink: Ready to start developing applications with Apache Flink? David Anderson's article in The New Stack walks you through the concepts and the most essential resources to get you started. | Source: https://thenewstack.io/
Tags: Beginner, Book or Article, Java - Apache Flink 101: A guide for developers: This Infoworld article helps you understand the core concepts of Apache Flink. You can learn about the core Flink concepts: Streams, Parallel Processing, State, Time, Checkpointing, and Flink use cases. | Source: https://infoworld.com
Tags: Beginner, Book or Article, Java - Current 2023: Unlocking the Power of Apache Flink: An Introduction in 4 Acts: A conference talk from 2023 Current by David Anderson. | Source: https://confluent.io
Tags: Beginner, Video - Confluent DevX Newsletter: This biweekly newsletter is a one-stop-shop for staying up to date on the latest Kafka and Flink learning materials, news, community meetups and events, useful terminal hacks, and some fun finds from around the web. Complete archive available. | Source: https://developer.confluent.io/newsletter/
Tags: Beginner, Newsletter - What is Apache Flink: An introductory lightboard video to Flink. | Source: https://youtube.com
Tags: Beginner, Video - How to Use Streaming Joins Using Flink: An entertaining technical discussion between David Anderson and Dan Weston, from Confluent. | Source: https://youtube.com
Tags: Beginner, Video - Flink Documentation by the Apache Software Foundation: The Apache Flink documentation by the ASF | Source: https://apache.org
Tags: Beginner, Documentation - Flink Documentation by Confluent: Flink documentation by Confluent with focus on Confluent Cloud. | Source: https://confluent.io
Tags: Beginner, Documentation - Stream Processing with Apache Flink: Fundamentals, Implementation, and Operation of Streaming Applications: The first comprehensive book on Apache Flink from 2019. | Source: https://amazon.com
Tags: Beginner, Book or Article - Stream Processing Simplified: An Inside Look at Flink for Kafka Users: A great intro blog post for Kafka users, who want to learn about Flink. | Source: https://developer.confluent.io
Tags: Beginner, Blog Post - Flink in Practice: Stream Processing Use Cases for Kafka Users: This in-depth blog post discusses the typical use cases that Kafka users can use Flink for. | Source: https://developer.confluent.io
Tags: Beginner, Blog Post - Introducing Confluent Cloud for Apache Flink: This blog post discusses how Confluent has re-architected Flink as a cloud-native service on Confluent Cloud. | Source: https://developer.confluent.io
Tags: Beginner, Blog Post - Flink Forward 2021: Introduction to Flink in 30 minutes: An introductory conference talk by David Anderson and Johannes Moser. | Source: https://youtube.com
Tags: Beginner, Video, Java - Introduction to Apache Flink: Building and Running Streaming Applications: A flink overview video by Robert Metzger | Source: https://youtube.com
Tags: Beginner, Video - The Python API for Flink: PyFlink: Whether it's the datastream or table API with SQL, PyFlink has you covered. | Source: https://apache.org/flink
Tags: Beginner, Documentation, Python - Apache Flink SQL: Exploring what Flink SQL can do is a great way to get started with Apache Flink and stream processing. This is a course about Flink SQL, which is part of the Apache Flink project. | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, SQL
- Your Guide to Flink SQL: An In-Depth Exploration: Everything you ever wanted to know about Flink SQL. | Source: https://developer.confluent.io
Tags: Intermediate, Blog Post, SQL - Event Time and Watermarks: This is part of Confluent's Apache Flink 101 course by David Anderson. It's worth calling it out, as it's an important subject if you want to use flink for real. It comes with hands-on exercises. This topic comes with an easy-to-follow hands-on exercise as well. | Source: https://developer.confluent.io
Tags: Intermediate, Guide or Tutorial, Hands-on Exercises - Monitoring Back Pressure: The part of the Apache Flink documentation that you ant to see when you see a back pressure warning (e.g. High) for a task, indicating that it is producing data faster than the downstream operators can consume. | Source: https://apache.org/flink
Tags: Intermediate, Documentation - Apache Flink® Table API: Processing Data Streams in Java: The Apache Flink® Table API offers a high-level, relational API for both stream and batch processing, blending the DataStream API's power with the SQL API's simplicity, in Java or Python. | Source: https://developer.confluent.io
Tags: Intermediate, Guide or Tutorial, Hands-on Exercises, Java
- Monitoring Apahce Flink Applications 101: A great collection of knowledge you need if you want to understand Flink metrics and monitor them - by Konstantin Knauf. | Source: https://flink.apache.org
Tags: Advanced, Blog Post
- Current 2023: Unlocking the Power of Apache Flink: An Introduction in 4 Acts: A conference talk from 2023 Current by David Anderson. | Source: https://confluent.io
Tags: Beginner, Video - What is Apache Flink: An introductory lightboard video to Flink. | Source: https://youtube.com
Tags: Beginner, Video - How to Use Streaming Joins Using Flink: An entertaining technical discussion between David Anderson and Dan Weston, from Confluent. | Source: https://youtube.com
Tags: Beginner, Video - Flink Forward 2021: Introduction to Flink in 30 minutes: An introductory conference talk by David Anderson and Johannes Moser. | Source: https://youtube.com
Tags: Beginner, Video, Java - Introduction to Apache Flink: Building and Running Streaming Applications: A flink overview video by Robert Metzger | Source: https://youtube.com
Tags: Beginner, Video
- A Developer’s Guide to Getting Started with Apache Flink: Ready to start developing applications with Apache Flink? David Anderson's article in The New Stack walks you through the concepts and the most essential resources to get you started. | Source: https://thenewstack.io/
Tags: Beginner, Book or Article, Java - Apache Flink 101: A guide for developers: This Infoworld article helps you understand the core concepts of Apache Flink. You can learn about the core Flink concepts: Streams, Parallel Processing, State, Time, Checkpointing, and Flink use cases. | Source: https://infoworld.com
Tags: Beginner, Book or Article, Java - Stream Processing with Apache Flink: Fundamentals, Implementation, and Operation of Streaming Applications: The first comprehensive book on Apache Flink from 2019. | Source: https://amazon.com
Tags: Beginner, Book or Article
- Apache Flink 101: The best overall introductory course to Flink from the most knowledgable expert. And it's free! | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, SQL - Building Flink Apps with Java: The best introduction
to the Java Flink APIs. | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, Java - Event Time and Watermarks: This is part of Confluent's Apache Flink 101 course by David Anderson. It's worth calling it out, as it's an important subject if you want to use flink for real. It comes with hands-on exercises. This topic comes with an easy-to-follow hands-on exercise as well. | Source: https://developer.confluent.io
Tags: Intermediate, Guide or Tutorial, Hands-on Exercises - Apache Flink SQL: Exploring what Flink SQL can do is a great way to get started with Apache Flink and stream processing. This is a course about Flink SQL, which is part of the Apache Flink project. | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, SQL - Apache Flink® Table API: Processing Data Streams in Java: The Apache Flink® Table API offers a high-level, relational API for both stream and batch processing, blending the DataStream API's power with the SQL API's simplicity, in Java or Python. | Source: https://developer.confluent.io
Tags: Intermediate, Guide or Tutorial, Hands-on Exercises, Java
- Flink Documentation by the Apache Software Foundation: The Apache Flink documentation by the ASF | Source: https://apache.org
Tags: Beginner, Documentation - Flink Documentation by Confluent: Flink documentation by Confluent with focus on Confluent Cloud. | Source: https://confluent.io
Tags: Beginner, Documentation - The Python API for Flink: PyFlink: Whether it's the datastream or table API with SQL, PyFlink has you covered. | Source: https://apache.org/flink
Tags: Beginner, Documentation, Python - Monitoring Back Pressure: The part of the Apache Flink documentation that you ant to see when you see a back pressure warning (e.g. High) for a task, indicating that it is producing data faster than the downstream operators can consume. | Source: https://apache.org/flink
Tags: Intermediate, Documentation
- Stream Processing Simplified: An Inside Look at Flink for Kafka Users: A great intro blog post for Kafka users, who want to learn about Flink. | Source: https://developer.confluent.io
Tags: Beginner, Blog Post - Flink in Practice: Stream Processing Use Cases for Kafka Users: This in-depth blog post discusses the typical use cases that Kafka users can use Flink for. | Source: https://developer.confluent.io
Tags: Beginner, Blog Post - Your Guide to Flink SQL: An In-Depth Exploration: Everything you ever wanted to know about Flink SQL. | Source: https://developer.confluent.io
Tags: Intermediate, Blog Post, SQL - Introducing Confluent Cloud for Apache Flink: This blog post discusses how Confluent has re-architected Flink as a cloud-native service on Confluent Cloud. | Source: https://developer.confluent.io
Tags: Beginner, Blog Post - Monitoring Apahce Flink Applications 101: A great collection of knowledge you need if you want to understand Flink metrics and monitor them - by Konstantin Knauf. | Source: https://flink.apache.org
Tags: Advanced, Blog Post
- Confluent DevX Newsletter: This biweekly newsletter is a one-stop-shop for staying up to date on the latest Kafka and Flink learning materials, news, community meetups and events, useful terminal hacks, and some fun finds from around the web. Complete archive available. | Source: https://developer.confluent.io/newsletter/
Tags: Beginner, Newsletter
- Apache Flink 101: The best overall introductory course to Flink from the most knowledgable expert. And it's free! | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, SQL - Building Flink Apps with Java: The best introduction
to the Java Flink APIs. | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, Java - Event Time and Watermarks: This is part of Confluent's Apache Flink 101 course by David Anderson. It's worth calling it out, as it's an important subject if you want to use flink for real. It comes with hands-on exercises. This topic comes with an easy-to-follow hands-on exercise as well. | Source: https://developer.confluent.io
Tags: Intermediate, Guide or Tutorial, Hands-on Exercises - Apache Flink SQL: Exploring what Flink SQL can do is a great way to get started with Apache Flink and stream processing. This is a course about Flink SQL, which is part of the Apache Flink project. | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, SQL - Apache Flink® Table API: Processing Data Streams in Java: The Apache Flink® Table API offers a high-level, relational API for both stream and batch processing, blending the DataStream API's power with the SQL API's simplicity, in Java or Python. | Source: https://developer.confluent.io
Tags: Intermediate, Guide or Tutorial, Hands-on Exercises, Java
- Building Flink Apps with Java: The best introduction
to the Java Flink APIs. | Source: https://developer.confluent.io
Tags: Beginner, Guide or Tutorial, Hands-on Exercises, Java - A Developer’s Guide to Getting Started with Apache Flink: Ready to start developing applications with Apache Flink? David Anderson's article in The New Stack walks you through the concepts and the most essential resources to get you started. | Source: https://thenewstack.io/
Tags: Beginner, Book or Article, Java - Apache Flink 101: A guide for developers: This Infoworld article helps you understand the core concepts of Apache Flink. You can learn about the core Flink concepts: Streams, Parallel Processing, State, Time, Checkpointing, and Flink use cases. | Source: https://infoworld.com
Tags: Beginner, Book or Article, Java - Flink Forward 2021: Introduction to Flink in 30 minutes: An introductory conference talk by David Anderson and Johannes Moser. | Source: https://youtube.com
Tags: Beginner, Video, Java - Apache Flink® Table API: Processing Data Streams in Java: The Apache Flink® Table API offers a high-level, relational API for both stream and batch processing, blending the DataStream API's power with the SQL API's simplicity, in Java or Python. | Source: https://developer.confluent.io
Tags: Intermediate, Guide or Tutorial, Hands-on Exercises, Java
- The Python API for Flink: PyFlink: Whether it's the datastream or table API with SQL, PyFlink has you covered. | Source: https://apache.org/flink
Tags: Beginner, Documentation, Python