MCPcopy Index your code
hub / github.com/apache/flink-ml

github.com/apache/flink-ml @release-2.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release release-2.3.0 ↗ · + Follow
6,304 symbols 28,149 edges 799 files 1,323 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

Benchmark

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

Documentation

The documentation of Flink ML is located on the website: https://nightlies.apache.org/flink/flink-ml-docs-master/ or in the docs/ directory of the source code.

Contributing

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.

License

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

Extension points exported contracts — how you extend this code

LossFunc (Interface)
A loss function is to compute the loss and gradient with the given coefficient and training data. [9 implementers]
flink-ml-lib/src/main/java/org/apache/flink/ml/common/lossfunc/LossFunc.java
AlgoOperator (Interface)
An AlgoOperator takes a list of tables as inputs and produces a list of tables as results. It can be used to encode gene [59 …
flink-ml-core/src/main/java/org/apache/flink/ml/api/AlgoOperator.java
TransformerServable (Interface)
A TransformerServable takes a DataFrame as input and produces a DataFrame as the result. It can be used to encode online [59 …
flink-ml-servable-core/src/main/java/org/apache/flink/ml/servable/api/TransformerServable.java
IterationListener (Interface)
The callbacks which will be invoked if the operator or UDF inside iteration implement this interface. [13 implementers]
flink-ml-iteration/flink-ml-iteration-common/src/main/java/org/apache/flink/iteration/IterationListener.java
DataGenerator (Interface)
Interface for generating data as table arrays. [2 implementers]
flink-ml-benchmark/src/main/java/org/apache/flink/ml/benchmark/datagenerator/DataGenerator.java
LogisticRegressionModelParams (Interface)
Params for LogisticRegressionModel and LogisticRegressionModelServable. @param The class type of this instance.
flink-ml-servable-lib/src/main/java/org/apache/flink/ml/classification/logisticregression/LogisticRegressionModelParams.java
Optimizer (Interface)
An optimizer is a function to modify the weight of a machine learning model, which aims to find the optimal parameter co [2 …
flink-ml-lib/src/main/java/org/apache/flink/ml/common/optimizer/Optimizer.java
Estimator (Interface)
Estimators are responsible for training and generating Models. @param class type of the Estimator implementation it [29 …
flink-ml-core/src/main/java/org/apache/flink/ml/api/Estimator.java

Core symbols most depended-on inside this repo

dense
called by 1472
flink-ml-python/pyflink/ml/linalg.py
of
called by 1311
flink-ml-python/pyflink/ml/common/window.py
get
called by 953
flink-ml-servable-core/src/main/java/org/apache/flink/ml/linalg/Matrix.java
size
called by 463
flink-ml-servable-core/src/main/java/org/apache/flink/ml/linalg/Vector.java
transform
called by 345
flink-ml-core/src/main/java/org/apache/flink/ml/api/AlgoOperator.java
toList
called by 221
flink-ml-core/src/main/java/org/apache/flink/ml/builder/TableId.java
collect
called by 221
flink-ml-servable-core/src/main/java/org/apache/flink/ml/servable/api/DataFrame.java
getOutputCol
called by 207
flink-ml-servable-lib/src/main/java/org/apache/flink/ml/common/param/HasOutputCol.java

Shape

Method 5,061
Class 1,059
Interface 131
Function 44
Enum 9

Languages

Java75%
Python25%
TypeScript1%

Modules by API surface

flink-ml-python/pyflink/ml/common/param.py111 symbols
flink-ml-python/pyflink/ml/linalg.py87 symbols
flink-ml-python/pyflink/ml/param.py66 symbols
flink-ml-python/pyflink/ml/wrapper.py59 symbols
flink-ml-core/src/main/java/org/apache/flink/ml/common/datastream/DataStreamUtils.java55 symbols
flink-ml-lib/src/main/java/org/apache/flink/ml/stats/chisqtest/ChiSqTest.java42 symbols
flink-ml-lib/src/main/java/org/apache/flink/ml/evaluation/binaryclassification/BinaryClassificationEvaluator.java40 symbols
flink-ml-lib/src/main/java/org/apache/flink/ml/feature/lsh/LSHModel.java35 symbols
flink-ml-python/pyflink/ml/classification/logisticregression.py34 symbols
flink-ml-python/pyflink/ml/recommendation/swing.py33 symbols
flink-ml-iteration/flink-ml-iteration-common/src/main/java/org/apache/flink/iteration/operator/HeadOperator.java33 symbols
flink-ml-iteration/flink-ml-iteration-common/src/main/java/org/apache/flink/iteration/operator/perround/AbstractPerRoundWrapperOperator.java31 symbols

For agents

$ claude mcp add flink-ml \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact