- Each Flink program relies on a set of Flink libraries.
- The Flink itself consists of a set of classes and dependencies that are required to run. The combination of all classes and dependencies forms the core of the Flink runtime and must exist when a Flink program runs.
- These core classes and dependencies are packaged into
flink-dist.
jars.
- In order to avoid excessive dependencies and classes in Classpath by default, the Flink core dependency does not contain any connectors or libraries (CEP, SQL, ML, etc.). We should try to keep the core dependent on "slim" to keep the default classpath smaller and avoid relying on conflicts.
- User application dependencies are a library of connectors, formats, or needs for a specific user application.
- A user application is typically packaged into a jar package that contains the application code and the required connector and library dependencies.
- User application dependencies explicitly do not include Flinkdataset/datastream APIs and runtime dependencies, as these are already part of the Flink core dependency.
Apache Flink-Configuration dependencies, connectors, libraries