whatisgithub

What is alink?

alibaba/alink — explained in plain English

Analysis updated 2026-05-18

3,616JavaAudience · dataComplexity · 4/5Setup · hard

In one sentence

A machine learning algorithm library from Alibaba built on Apache Flink, offering classification, clustering, and feature engineering from Python or Java.

Mindmap

mindmap
  root((Alink))
    What it does
      ML on Flink
      Classification
      Clustering
      Feature engineering
    Tech stack
      Java
      Apache Flink
      Python
      Maven
    Use cases
      Batch data pipelines
      Streaming ML
      Clustering analysis
    Audience
      Data engineers
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a KMeans clustering pipeline over a CSV dataset using PyAlink

USE CASE 2

Run classification or association rule mining like Apriori on Flink data

USE CASE 3

Combine several feature engineering steps into one reusable pipeline

USE CASE 4

Process the same algorithm pipeline in either batch or streaming mode

What is it built with?

JavaApache FlinkPythonMaven

How does it compare?

alibaba/alinknekogram/nekogramlitesuits/android-common
Stars3,6163,6123,624
LanguageJavaJavaJava
Setup difficultyhardmoderateeasy
Complexity4/53/52/5
Audiencedatadeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires matching Python, Java 8, and Flink versions precisely to the PyAlink or Maven package you install.

No license terms are stated in the explanation provided.

So what is it?

Alink is a general purpose machine learning algorithm library built on top of Apache Flink, developed by the PAI team at Alibaba's computing platform division. Flink is a framework for processing large amounts of data, either as one large batch or as a continuous stream, and Alink adds a set of ready made algorithms on top of it for tasks like classification, clustering, feature engineering, and association rule mining such as the Apriori algorithm. The project can be used from Python, through a package called PyAlink, or directly from Java. Different PyAlink packages exist for different versions of Flink, from 1.9 up to 1.13, and each is installed with a matching pip command. Using it from Python requires Python 3.6, 3.7, or 3.8 and a Java 8 installation on the same machine. The Java version is added to a project through Maven, with a dependency block that also needs to match the Flink version in use. In both languages, the pattern is the same: you build a pipeline out of algorithm components, each created with a constructor and configured with setter methods, then connect components together and run them against a data source. An example in the README loads a CSV file of flower measurements, assembles several numeric columns into a single feature column, and feeds that into a KMeans clustering step to group the rows, printing the result. Most of the project's documentation, tutorials, and component list are hosted on a separate website and are written in Chinese, with an English-language version of the README also available in the repository. The README itself is sparse on English detail beyond installation and one basic usage example, so anyone wanting the fuller catalog of available algorithms will need the linked documentation site.

Copy-paste prompts

Prompt 1
Help me install pyalink matching my Flink version and run the example clustering pipeline
Prompt 2
Show me how to add Alink as a Maven dependency for my Flink version in Java
Prompt 3
Explain how the VectorAssembler and KMeans components connect in an Alink pipeline
Prompt 4
Translate the Alink CSV clustering example into a pipeline for my own dataset

Frequently asked questions

What is alink?

A machine learning algorithm library from Alibaba built on Apache Flink, offering classification, clustering, and feature engineering from Python or Java.

What language is alink written in?

Mainly Java. The stack also includes Java, Apache Flink, Python.

What license does alink use?

No license terms are stated in the explanation provided.

How hard is alink to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is alink for?

Mainly data.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.