This documentation is for an out-of-date version of Apache Flink. We recommend you use the latest stable version.

Getting Started

There are many ways to get started with Apache Flink. Which one is the best for you depends on your goal and prior experience.

The Docker Playgrounds provide sandboxed Flink environments that are set up in just a few minutes and which allow you to explore and play with Flink.

  • The Operations Playground shows you how to operate streaming applications with Flink. You can experience how Flink recovers application from failures, upgrade and scale streaming applications up and down, and query application metrics.

The Code Walkthroughs are the best way to get started and introduce you step by step to an API. A walkthrough provides instructions to bootstrap a small Flink project with a code skeleton and shows how to extend it to a simple application.

  • The DataStream API code walkthrough shows how to implement a simple DataStream application and how to extend it to be stateful and use timers. The DataStream API is Flink’s main abstraction to implement stateful streaming applications with sophisticated time semantics in Java or Scala.

  • The Table API code walkthrough shows how to implement a simple Table API query on a batch source and how to evolve it into a continuous query on a streaming source. The Table API Flink’s language-embedded, relational API to write SQL-like queries in Java or Scala which are automatically optimized similar to SQL queries. Table API queries can be executed on batch or streaming data with identical syntax and semantics.