Docs Home
Viewing docs for
Self-ManagedNot available for BYOC
You’re viewing v2.11 — not the latest release (v2.15).View latest →

Packaging your Application

On this page

In general, you package your DataStream, Table API or DataSet API program for Ververica Platform in the same as for any other Apache Flink® runtime. The Apache Flink® documentation provides example project setups for Maven & Gradle to get you started.

Ververica Platform comes with our own distribution of Apache Flink®. Our distribution is always compatible with vanilla Apache Flink®, but might include additional and/or more timely bug and security vulnerability fixes.

Our Apache Flink® Docker images are built from our distribution of Apache Flink®, but the Docker images do not contain all Apache Flink® dependencies that you might need to run your program. Most importantly, connector dependencies, e.g. for Apache Kafka®, are not provided by the Ververica runtime, but need to be bundled by the user.

In order for you to use our distribution of Apache Flink® when packaging your program, we host a Maven repository including these dependencies. Please follow the instructions to integrate it with your build.

Step 1: Add Maven Repository

First, you need to add maven.ververica.com as an additional repository to your build system.

XML
1<repository>
2  <id>vvp-flink-releases</id>
3  <url>https://maven.ververica.com/artifactory/vvp-flink-release/</url>
4  <releases>
5    <enabled>true</enabled>
6  </releases>
7  <snapshots>
8    <enabled>false</enabled>
9  </snapshots>
10</repository>

Step 2: Change Maven Group IDs & Version

Second, our distribution of Apache Flink® is published under a different Maven group id and version than vanilla Apache Flink®. The group id is "com.ververica.flink" instead of "org.apache.flink". The versions follows the versioning of Apache Flink® with an additional counter for off-cycle releases: "<major>.<minor>.<patch>-<stream|spring>``<ververica-version-counter>".

For example, our second releases for Apache Flink® 1.11.2 would have the versions "1.11.2-stream2"" and "1.11.2-spring2". The stream|spring tag identifies the edition of Ververica Platform that you are using.

Please see Ververica Platform Public Registry for a list of available versions. The Maven version corresponds to the Docker image tag.

XML
1<dependencies>
2  <dependency>
3    <groupId>com.ververica.flink</groupId>
4    <artifactId>flink-connector-kafka_2.12</artifactId>
5    <version>1.11.2-stream2</version>
6  </dependency>
7</dependencies>
Was this helpful?