Machine learning library of Apache Flink

Clone this repo:
  1. 22e7885 [hotfix] Upgrade dependency to fix security vulnerabilities by Dong Lin · 5 days ago master
  2. 84afd6a [hotfix] Update quickstart to require a given Flink version by Dong Lin · 5 days ago
  3. a5b7b49 [FLINK-31899] Upgrade Flink version of Flink ML to 1.17.0 by JiangXin · 5 weeks ago
  4. 5b193de [FLINK-31887] Upgrade Flink version of Flink ML to 1.16.1 by JiangXin · 5 weeks ago
  5. 92ecb0e [FLINK-31173] Fix wrong typeinfo in ProxyOperatorStateBackend by congzhou.zzp · 6 weeks ago

Flink ML is a library which provides machine learning (ML) APIs and infrastructures that simplify the building of ML pipelines. Users can implement ML algorithms with the standard ML APIs and further use these infrastructures to build ML pipelines for both training and inference jobs.

Flink ML is developed under the umbrella of Apache Flink.

Getting Started

You can follow the Python quick start and the Java quick start to get hands-on experience with Flink ML Python and Java APIs respectively.

Building the Project

Run the mvn clean package command.

Then you will find a JAR file that contains your application, plus any libraries that you may have added as dependencies to the application: target/<artifact-id>-<version>.jar.


Flink ML provides functionalities to benchmark its machine learning algorithms. For detailed information, please check the Benchmark Getting Started.


The documentation of Flink ML is located on the website: or in the docs/ directory of the source code.


You can learn more about how to contribute in the Apache Flink website. For code contributions, please read carefully the Contributing Code section for an overview of ongoing community work.


The code in this repository is licensed under the Apache Software License 2.