Training

Learn from the original creators of Apache Flink®

Why Ververica Training?

Our trainers are industry veterans who work alongside the original creators of Apache Flink. We know how to help you. Our trainers work with Flink users every day, and have helped hundreds get started. Our curriculum is comprehensive, and updated for each new release of the platform.

Scholarship Programs

As part of our mission to grow the Apache Flink community, we are lowering the barrier of entry and making quality Flink training accessible to those who want them. Our Diversity and Need-Based Scholarships are for members of the stream processing and Flink communities, who are part of the underrepresented and/or marginalized groups (including but not limited to LGBTQIA, women, persons of color, and/or persons with disabilities) and those who cannot afford training. 

Whether you are just starting with Flink or already have some knowledge and would benefit from the training, but are unable to cover the costs, apply for one of the scholarships below.

Note: At the moment, all our training courses are offered remotely and can be completed from anywhere in the world. The scholarship will grant a free training pass for your session of choice.

Training Types

Public Training

About

This course is a hands-on introduction to Apache Flink for Java and Scala developers who want to learn to build streaming applications.

After taking this course you will have learned enough about Flink's core concepts, and the DataStream and SQL/Table APIs to be able to develop solutions for a wide variety of use cases, including data pipelines and ETL jobs, streaming analytics, and event-driven applications.

The programming exercises are oriented around common use cases and will give you a chance to see how these APIs are used to solve real problems.

Level

Beginner; no prior knowledge of Apache Flink is assumed.

Course Content
  • Stream Processing and Apache Flink

  • Intro to the Streaming Runtime and Execution Model

  • Foundations of the DataStream API

  • Working with Keyed State

  • Dynamic Tables and Streaming SQL

  • Streaming Joins

  • Event Time and Watermarks

  • Process Functions, Side Outputs, and Timers

  • Windows and Streaming Analytics

  • Temporal Joins and Lookup Joins

  • CDC and Changelog Streams

  • Checkpointing and Exactly-once Guarantees

  • Using Kafka with Flink

  • Serialization

  • Schema Evolution and State Migration

  • Testing

Prerequisites

For the hands-on exercises you will need a computer with at least 8 GB RAM (MacOS, Linux, or Windows), with these tools installed:

  • Git
  • Java 8 or 11 JDK (a JRE is not sufficient)
  • An IDE for Java (or Scala) development

Format

This is a remote, instructor-led training, spanning four sessions, each about 2.5 hours long. Hands-on exercises will be assigned as homework to be done between classes.

About

This course is a hands-on introduction to key topics relating to putting Flink applications into production, including configuring and tuning your job, deployment, operations, and maintenance. The focus is on the Flink runtime, including its architecture, state backends, networking, and checkpointing, with an eye toward understanding how Flink works, and what can go wrong. You’ll learn what you can do to avoid problems, and how to diagnose and fix the issues you may experience, such as backpressure, checkpoint failures, and high latency.

The exercises provide a hands-on introduction to these same topics.

Level

Intermediate

In order to make the most of this training, you should already have a general understanding of event time and watermarking, and familiarity with the basics of the DataStream API (at the level of what is covered in our Apache Flink Developer Training). The troubleshooting examples and exercises all use the DataStream API, and are implemented in Java. They require recognizing what the provided applications are doing wrong, and adjusting the configuration and/or the code so that they perform better.

Course Content
  • Intro to Flink and its Runtime Architecture

  • State Backends

  • Metrics, Monitoring, and Alerting

  • Troubleshooting Watermarks

  • Troubleshooting Backpressure

  • Optimizing Latency and Throughput

  • Fault Tolerance, Tuning and Troubleshooting Checkpointing

  • Managing Flink: the CLI, WebUI, and REST API

  • Deploying Flink

  • Scaling State (RocksDB, state TTL)

Exercises

  • Debugging job failures

  • Troubleshooting watermarks

  • Tuning for latency

  • Tuning for throughput

  • Troubleshooting checkpoints

  • Hands-on with the CLI and Web UI

Prerequisites

For the hands-on exercises you will need a computer with at least 8 GB RAM (MacOS, Linux, or Windows), with these tools installed:

  • Git
  • Java 8 or 11 JDK (a JRE is not sufficient)
  • An IDE for Java development
  • Docker

Format

This is a remote, instructor-led training, delivered in two 3-hour sessions, with hands-on exercises assigned as homework to be done outside of class.

Public Training Schedule

dev-training-dark

Apache Flink Developer Training

September 2021

9 AM - 11:30 AM PDT

September 7-9 & 13

November 2021

3 PM - 5:30 PM CEST

November 29, 30 & December 2, 6
operations-training-dark

Apache Flink Troubleshooting & Operations Training

September 2021

3 PM - 6 PM CEST

September 14 & 16

December 2021

9 AM - 12 PM PDT

December 7 & 9

Set up a Meeting