Machine learning library of Apache Flink

Clone this repo:
  1. df58dbe [FLINK-28571] Add AlgoOperator for Chi-squared test by taosiyuan163 · 12 days ago master
  2. 0f1ad10 [FLINK-28611] Add Transformer for ElementwiseProduct by weibo · 13 days ago
  3. 41cccd1 [FLINK-28601] Add Transformer for FeatureHasher by weibo · 2 weeks ago
  4. e5da0da [FLINK-28563] Add Transformer for VectorSlicer by weibo · 2 weeks ago
  5. 8df3879 [FLINK-28684] Fix OneHotEncoder NPE during checkpoint by yunfengzhou-hub · 3 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 this quick start guideline to get hands-on experience with Flink ML.

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.