To run an application that uses the Data Client Library within a stream pipeline (Flink), use the
flink-support module as a dependency to your project. Don't add any other modules to your project. Adding other modules causes dependency conflicts (with
Akka) and your application will not work in the Flink environment.
Flink depends on Akka libraries, which causes dependency conflicts with the Data Client Library. To resolve these conflicts, the Data Client Library relocated all Akka related dependencies in the internal namespace dataclient_akka. To avoid conflicts, Flink users should only access classes exposed by FlinkDataClient.
flink-support module is only released as a fat JAR containing all Data Library modules and some shared libraries. This is required to avoid conflicts with
flakka (the Flink custom build of the Akka library), which is incompatible with the Akka version that Data Client Library is using.
flink-support is only compatible with Flink 1.10.3
To add the
flink-support module to your project, add the following dependencies. Please note that the version of
flink-support_2.12 should not be hard-coded but rather come from sdk pom.
<dependencies> <dependency> <groupId>com.here.platform.data.client</groupId> <artifactId>flink-support_2.12</artifactId> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-planner_2.12</artifactId> <version>1.10.3</version> <scope>provided</scope> </dependency> </dependencies>
libraryDependencies ++= Seq( "com.here.platform.data.client" %% "flink-support" % "1.10.30", "org.apache.flink" %% "flink-table-planner" % "1.10.3" % "provided" )