Skip to content

Commit 200aa12

Browse files
committed
feat: add openlineage for 3.5.8 image
1 parent 7e522fb commit 200aa12

3 files changed

Lines changed: 14 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ All notable changes to this project will be documented in this file.
2424
- druid: Add `37.0.0` ([#1535]).
2525
- hbase: Add `2.6.6` ([#1547]).
2626
- spark: Add `4.1.2` ([#1550]).
27-
- spark: Bake the OpenLineage Spark listener (`openlineage-spark_2.13` `1.51.0`) into the `4.1.x` images under the dedicated directory `/stackable/spark/openlineage/` (off the `extra-jars` classpath), enabling the OpenLineage MVP in the operator ([#XXXX]).
27+
- spark: Bake the OpenLineage Spark listener (`1.51.0`) into the Spark images under the dedicated directory `/stackable/spark/openlineage/` (off the `extra-jars` classpath), enabling the OpenLineage MVP in the operator. The Scala 2.13 build (`openlineage-spark_2.13`) is used for the `4.1.x` images and the Scala 2.12 build (`openlineage-spark_2.12`) for the `3.5.x` images ([#XXXX]).
2828
- opensearch: Add `3.6.0` ([#1549]).
2929
- opensearch-dashboards: Add `3.6.0` ([#1551]).
3030

spark-k8s/Dockerfile.3

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ ARG HBASE_VERSION
4747
ARG JACKSON_DATAFORMAT_XML_VERSION
4848
ARG STAX2_API_VERSION
4949
ARG WOODSTOX_CORE_VERSION
50+
ARG OPENLINEAGE_SPARK_VERSION
5051
ARG JMX_EXPORTER_VERSION
5152
ARG TARGETARCH
5253
ARG TINI_VERSION
@@ -148,6 +149,17 @@ mvn dependency:get -Dartifact=mvn dependency:get -Dartifact=com.fasterxml.woodst
148149
cp /root/.m2/repository/com/fasterxml/woodstox/woodstox-core/${WOODSTOX_CORE_VERSION}/woodstox-core-${WOODSTOX_CORE_VERSION}.jar \
149150
/stackable/spark-${PRODUCT_VERSION}-stackable${RELEASE_VERSION}/dist/extra-jars/woodstox-core-${WOODSTOX_CORE_VERSION}.jar
150151

152+
# Download the OpenLineage Spark listener jar into a DEDICATED directory (dist/openlineage),
153+
# NOT dist/extra-jars. The operator references it via `--jars local:///stackable/spark/openlineage/...`
154+
# so it loads on Spark's child/user classloader, sharing it with connectors delivered via `--packages`
155+
# (e.g. Iceberg). If it landed on extra-jars it would be added to the system classloader via
156+
# extraClassPath, OpenLineage's connector probe would fail, and no datasets would be emitted.
157+
# Spark 3.5.x is a Scala 2.12 build, so the 2.12 artifact is used (Spark 4.x uses 2.13).
158+
mkdir -p /stackable/spark-${PRODUCT_VERSION}-stackable${RELEASE_VERSION}/dist/openlineage
159+
mvn dependency:get -Dartifact=io.openlineage:openlineage-spark_2.12:${OPENLINEAGE_SPARK_VERSION}
160+
cp /root/.m2/repository/io/openlineage/openlineage-spark_2.12/${OPENLINEAGE_SPARK_VERSION}/openlineage-spark_2.12-${OPENLINEAGE_SPARK_VERSION}.jar \
161+
/stackable/spark-${PRODUCT_VERSION}-stackable${RELEASE_VERSION}/dist/openlineage/openlineage-spark_2.12-${OPENLINEAGE_SPARK_VERSION}.jar
162+
151163
# Get the correct `tini` binary for our architecture.
152164
curl --fail "https://repo.stackable.tech/repository/packages/tini/tini-${TINI_VERSION}-${TARGETARCH}" \
153165
-o /usr/bin/tini

spark-k8s/boil-config.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ woodstox-core-version = "6.5.1" # Needs to match https://mvnrepository
2020
jmx-exporter-version = "1.3.0"
2121
tini-version = "0.19.0"
2222
hbase-connector-version = "1.0.1_3.5.8"
23+
openlineage-spark-version = "1.51.0" # Scala 2.12 build for Spark 3.5.x; see https://mvnrepository.com/artifact/io.openlineage/openlineage-spark_2.12
2324

2425
# Deprecated since 26.7
2526
[versions."4.1.1"]

0 commit comments

Comments
 (0)