Packaging your Application
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 supports Java 8 and 11 since version 2.5.0. See Supported Versions & Compatibility for details.
Ververica Apache Flink® Dependencies
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.
- Maven
- Gradle
<repository>
<id>vvp-flink-releases</id>
<url>https://maven.ververica.com/artifactory/vvp-flink-release/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
Include the following snippet in yur build.gradle
.
maven {
url 'https://maven.ververica.com/artifactory/vvp-flink-release/'
mavenContent {
releasesOnly()
}
}
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.
- Maven
- Gradle
<dependencies>
<dependency>
<groupId>com.ververica.flink</groupId>
<artifactId>flink-connector-kafka_2.12</artifactId>
<version>1.11.2-stream2</version>
</dependency>
</dependencies>
dependencies {
compile 'com.ververica.flink:flink-connector-kafka_2.12:1.11.2-stream2'
}