Installation
Choose the Paimon connector that matches your Flink minor version. This branch contains connectors for Flink 1.16–1.20 and 2.0–2.2. Use the documentation for your Paimon release when installing a released connector.
Prerequisites
Install a Flink distribution and a Java version supported
by that distribution. In the commands below, <FLINK_HOME> is the extracted Flink directory.
The local quick start uses Paimon's built-in local filesystem; distributed jobs need shared
storage and the dependencies listed below.
Choose an Artifact
| Artifact | Use it for | How to use it |
|---|---|---|
paimon-flink-<flink-version>-2.2-SNAPSHOT.jar | Flink SQL, Table API, and DataStream reads and writes | Put the matching bundled connector in Flink's lib directory. |
paimon-flink-action-2.2-SNAPSHOT.jar | Compaction, ingestion, and other command-line actions | Submit it with flink run; see Action Jars. |
Install one matching Paimon bundled connector in each Flink process. Restart existing Flink processes after changing the jars. Snapshot links below point to artifact directories; choose the timestamped jar available there. A directory may be empty until that version is published.
| Version | Type | Jar |
|---|---|---|
| Flink 2.2 | Bundled Jar | paimon-flink-2.2-2.2-SNAPSHOT.jar |
| Flink 2.1 | Bundled Jar | paimon-flink-2.1-2.2-SNAPSHOT.jar |
| Flink 2.0 | Bundled Jar | paimon-flink-2.0-2.2-SNAPSHOT.jar |
| Flink 1.20 | Bundled Jar | paimon-flink-1.20-2.2-SNAPSHOT.jar |
| Flink 1.19 | Bundled Jar | paimon-flink-1.19-2.2-SNAPSHOT.jar |
| Flink 1.18 | Bundled Jar | paimon-flink-1.18-2.2-SNAPSHOT.jar |
| Flink 1.17 | Bundled Jar | paimon-flink-1.17-2.2-SNAPSHOT.jar |
| Flink 1.16 | Bundled Jar | paimon-flink-1.16-2.2-SNAPSHOT.jar |
| Flink Action | Action Jar | paimon-flink-action-2.2-SNAPSHOT.jar |
Configure Dependencies
cp paimon-flink-1.20-2.2-SNAPSHOT.jar <FLINK_HOME>/lib/
The warehouse filesystem and catalog determine the additional dependencies:
| Dependency | When it is needed | Setup |
|---|---|---|
| Hadoop libraries | Hadoop-backed filesystem access | Expose installed Hadoop libraries through HADOOP_CLASSPATH, or use the Paimon Hadoop uber jar. |
| Filesystem connector | HDFS or object storage such as S3 and OSS | Follow Filesystems for the chosen storage. |
| Hive connector | Hive-backed catalogs | Follow Creating Hive Catalog. |
| JDBC driver | JDBC-backed catalogs | Follow Creating JDBC Catalog. |
For a machine with Hadoop installed:
export HADOOP_CLASSPATH="$(hadoop classpath)"
Set this before starting Flink processes and the SQL client. Use a warehouse on shared storage
for a distributed cluster. A file:/tmp/... warehouse is suitable for the single-machine tutorial.
Build from Source
Clone the Paimon repository, then build the connector and its dependencies from the repository root. Select the profile for your Flink major version:
# Flink 1.20 example
mvn -pl paimon-flink/paimon-flink-1.20 -am -Pflink1 -DskipTests install
# Flink 2.2 example
mvn -pl paimon-flink/paimon-flink-2.2 -am -Pflink2 -DskipTests install
The bundled jar is written to
paimon-flink/paimon-flink-<flink-version>/target/paimon-flink-<flink-version>-2.2-SNAPSHOT.jar.
To build the action jar, use -pl paimon-flink/paimon-flink-action with the corresponding profile.
Its output is in paimon-flink/paimon-flink-action/target/.
Continue with Quick Start to create, write, and query a table.