0

I’m new to Flink(and to Java) and I come from ML/DS background, so decided to implement something related to what I know - a linear regression learner. For that I figured I’d use DenseVector primitives available in flink.ml.*.

This is where I’m seriously confused, so would appreciate if anyone could help me here. Anyway, I started googling and found this https://nightlies.apache.org/flink/flink-docs-release-1.12/api/java/org/apache/flink/ml/common/linalg/DenseVector.html

This implementation have all the methods one would need to implement anything from linear algebra - dot product, summation, norm, etc. However, with this dependency

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-ml-lib_2.12</artifactId>
    <version>2.0.0</version>
</dependency>

the only DenseVector I get installed is this one https://nightlies.apache.org/flink/flink-docs-release-1.3/api/java/org/apache/flink/ml/math/DenseVector.html

This API is a very slim version of the first one, and I’m confused why? If I want to use the latest version of the Flink ML lib, how do I get the API that is comparable with the first link in terms of feature set? For example, this API has the dot product, but not summation, which is confusing.

I also found this API, that practically has not linear algebra related methods https://nightlies.apache.org/flink/flink-ml-docs-master/api/java/org/apache/flink/ml/linalg/DenseVector.html

How does it fit into the picture?

I also noticed that all these APIs implement a different set of interfaces.

Basically, the final question is: how do I get the API from the first link?

1 Answer 1

1

the first link https://nightlies.apache.org/flink/flink-docs-release-1.12/api/java/org/apache/flink/ml/common/linalg/DenseVector.html which you found is related based on flink-1.12. Flink 1.12 is kind of outdated as it was released in Dec 2020.

The latest Flink ML related code has been moved from apache/flink into apache/flink-ml repo. The latest DenseVector source code can be found at https://github.com/apache/flink-ml/blob/master/flink-ml-core/src/main/java/org/apache/flink/ml/linalg/DenseVector.java. And the up-to-date Java doc can be found at https://nightlies.apache.org/flink/flink-ml-docs-master/api/java/.

Also, the latest Flink ML website can be found at https://nightlies.apache.org/flink/flink-ml-docs-master/docs/try-flink-ml/java/quick-start/. The website provides Python and Java example code for all the algorithms.

And the API for doing linear algebra can be found at https://github.com/apache/flink-ml/blob/master/flink-ml-core/src/main/java/org/apache/flink/ml/linalg/BLAS.java.

Hope it helps!

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.