title: “Scalable Batch and Stream Data Processing” layout: base

Flinkā€™s core is a streaming dataflow engine that provides data distribution, communication, and fault tolerance for distributed computations over data streams.

Flink includes several APIs for creating applications that use the Flink engine:

  1. DataSet API for static data embedded in Java, Scala, and Python,
  2. DataStream API for unbounded streams embedded in Java and Scala, and
  3. Table API with a SQL-like expression language embedded in Java and Scala.

Flink also bundles libraries for domain-specific use cases:

  1. Machine Learning library, and
  2. Gelly, a graph processing API and library.

You can integrate Flink easily with other well-known open source systems both for data input and output as well as deployment.

Check out the features page to get a tour of all major Flink features.



Download the latest stable release and run Flink on your machine, cluster, or cloud:

The documentation contains a [setup guide]({{ site.docs-snapshot }}/setup) for all deployment options.

The [programming guide]({{ site.docs-snapshot }}/apis/programming_guide.html) contains all information to get you started with writing and testing your Flink programs.

Check out the [documentation]({{ site.docs-snapshot }}) for the next steps.

Check out the blog for all posts.

You can post questions to the Flink community on various channels. Pick the one, which suits you best:

  • User mailing list. Subscribe to the mailing list by sending an empty email to user-subscribe@flink.apache.org. Once the subscription is confirmed, you can send questions to user@flink.apache.org.

  • Stack Overflow. Post your questions to Stack Overflow and tag them with #flink.

  • IRC chat. The IRC channel #flink at irc.freenode.org is dedicated to Apache Flink. Join the channel and chat with the Flink community.

Check out the community page for all community-related information. If you want to contribute, make sure to have a look at the contribution guide.