infoverload commented on a change in pull request #18812:
URL: https://github.com/apache/flink/pull/18812#discussion_r809820042
##########
File path: docs/content/docs/dev/configuration/advanced.md
##########
@@ -24,33 +24,28 @@ under the License.
# Advanced Configuration Topics
-## Dependencies: Flink Core and User Application
-
-There are two broad categories of dependencies and libraries in Flink, which
are explained below.
-
-### Flink Core Dependencies
+## Anatomy of the Flink distribution
Flink itself consists of a set of classes and dependencies that form the core
of Flink's runtime
and must be present when a Flink application is started. The classes and
dependencies needed to run
the system handle areas such as coordination, networking, checkpointing,
failover, APIs,
operators (such as windowing), resource management, etc.
-These core classes and dependencies are packaged in the `flink-dist` jar, are
part of Flink's `lib`
-folder, and part of the basic Flink container images. You can think of these
dependencies as similar
-to Java's core library, which contains classes like `String` and `List`.
+These core classes and dependencies are packaged in the `flink-dist.jar`
available in the `/lib`
+folder in the downloaded distribution, and part of the basic Flink container
images.
+You can think of these dependencies as similar to Java's core library, which
contains classes like `String` and `List`.
In order to keep the core dependencies as small as possible and avoid
dependency clashes, the
Flink Core Dependencies do not contain any connectors or libraries (i.e. CEP,
SQL, ML) in order to
avoid having an excessive default number of classes and dependencies in the
classpath.
-### User Application Dependencies
+The `/lib` directory of the Flink distribution additionally contains various
JARs including commonly used modules,
+such as all the required [modules to execute Table
jobs](#anatomy-of-table-dependencies) and a set of connector and formats.
+These are loaded by default and can be removed from the classpath just
removing them from the `/lib` folder.
-These dependencies include all connectors, formats, or libraries that a
specific user application
-needs and explicitly do not include the Flink DataStream and Table APIs and
runtime dependencies
-since those are already part of the Flink core dependencies.
+Flink also ships additional optional dependencies under `/opt` which can be
enabled by moving the JARs in the `/lib` folder.
Review comment:
```suggestion
Flink also ships additional optional dependencies under the `/opt` folder,
which can be enabled by moving the JARs in the `/lib` folder.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]