• star sand Level

    Intermediate

  • 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.

    After taking this course you will have learned enough about Flink's core concepts, its DataStream API, and its distributed runtime 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 the pieces of the API work together to solve real problems. Other hands-on sessions provide an introduction to practical topics, such as how to deploy, stop, upgrade, and rescale your jobs.

  • clock sand Duration

    As a remote, instructor-led training, this is delivered as three sessions, each about 2.5 hours long, with the hands-on portions assigned as homework to be done between the training sessions.

  • check sand-1 Prerequisites

    No prior knowledge of Apache Flink is required.

    For the hands-on exercises you will need a laptop 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

    - Docker



Course Content

  • Introduction to Stream Processing and Apache Flink
  • Foundations of the DataStream API
  • Data Pipelines and Stateful Stream Processing
  • Event Time and Watermarks
  • Process Functions, Side Outputs, and Timers
  • Windows and Streaming Analytics
  • Testing
  • The Flink Runtime
  • Fault Tolerance
  • The Connector Ecosystem
  • Application Patterns: Data Enrichment, Joins, Broadcast State
  • Application Evolution