This is an automated email from the ASF dual-hosted git repository.
etudenhoefner pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/main by this push:
new de213af146 Docs: Add note about packaging uberjars (#14292)
de213af146 is described below
commit de213af146d174ccad30183d2956aa4001756d80
Author: wineandcheeze <[email protected]>
AuthorDate: Thu Oct 23 17:12:29 2025 +0200
Docs: Add note about packaging uberjars (#14292)
---
README.md | 4 ++--
site/docs/multi-engine-support.md | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 196d2c18e5..582e108b76 100644
--- a/README.md
+++ b/README.md
@@ -71,8 +71,8 @@ Iceberg table support is organized in library modules:
Iceberg also has modules for adding Iceberg support to processing engines:
-* `iceberg-spark` is an implementation of Spark's Datasource V2 API for
Iceberg with submodules for each spark versions (use runtime jars for a shaded
version)
-* `iceberg-flink` contains classes for integrating with Apache Flink (use
iceberg-flink-runtime for a shaded version)
+* `iceberg-spark` is an implementation of Spark's Datasource V2 API for
Iceberg with submodules for each spark versions (use [runtime
jars](https://iceberg.apache.org/multi-engine-support/#runtime-jar) for a
shaded version to avoid dependency conflicts)
+* `iceberg-flink` contains classes for integrating with Apache Flink (use
[iceberg-flink-runtime](https://iceberg.apache.org/multi-engine-support/#runtime-jar)
for a shaded version)
* `iceberg-mr` contains an InputFormat and other classes for integrating with
Apache Hive
---
diff --git a/site/docs/multi-engine-support.md
b/site/docs/multi-engine-support.md
index df49841505..0c10c83180 100644
--- a/site/docs/multi-engine-support.md
+++ b/site/docs/multi-engine-support.md
@@ -42,6 +42,10 @@ Iceberg provides a runtime connector jar for each supported
version of Spark, Fl
When using Iceberg with these engines, the runtime jar is the only addition to
the classpath needed in addition to vendor dependencies.
For example, to use Iceberg with Spark 3.5 and AWS integrations,
`iceberg-spark-runtime-3.5_2.12` and AWS SDK dependencies are needed for the
Spark installation.
+> ℹ️ It's important to make sure that only the runtime jars (plus storage
specific bundles if needed, eg. `iceberg-aws-bundle` or `iceberg-gcp-bundle`)
are included in the runtime classpath.
+> All other modules should be excluded as they may introduce dependency
version conflicts with engine runtimes.
+> For example, when packaging an uberjar for a Spark application, only include
`iceberg-spark-runtime` and exclude modules such as `iceberg-core` or
`iceberg-parquet`.
+
Spark and Flink provide different runtime jars for each supported engine
version.
Hive 2 and Hive 3 currently share the same runtime jar.
The runtime jar names and latest version download links are listed in [the
tables below](#current-engine-version-lifecycle-status).