• star sand Level


  • book sand Description

    This course is a hands-on introduction to Apache Flink for Java and Scala developers who want to learn to build streaming applications. The first day will focus on the core concepts of distributed streaming dataflows, event time, and key-partitioned state, and the second day will go into more depth about the runtime, ecosystem, and use cases. The exercises will give you a chance to see how these concepts are reflected in the API, and understand how the pieces fit together to solve real problems.

  • clock sand Duration

    This is a two-day course.

  • check sand-1 Prerequisites

    No prior knowledge of Apache Flink is required.

    You’ll need your own laptop with these tools installed:


    - Git
    - Java 8 JDK (a JRE is not sufficient)
    - Maven 3.x
    - An IDE for Java (or Scala) development
    - Docker


    You will need a laptop with at least 8 GB RAM (MacOS, Linux, or Windows).

    To save time during the event, we'd also like you to get Flink running before you come to the training. We will send an email with detailed setup instructions a week or two before the workshop. 

Course Content

Day 1

  • Introduction to Stream Processing and Apache Flink
  • Foundations of the DataStream API
  • Getting Setup for Flink Development
  • Stateful Stream Processing
  • Event Time and Watermarks
  • Process Functions, Side Outputs, and Timers
  • Windows
  • Testing

Day 2

  • The Flink Runtime
  • Fault Tolerance
  • The Connector Ecosystem
  • Watermarking Part 2
  • Application Patterns: Enrichment, Joins, Broadcast State
  • Application Evolution