-
Notifications
You must be signed in to change notification settings - Fork 324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenLineage Spark extension interfaces without runtime dependency hell #2809
OpenLineage Spark extension interfaces without runtime dependency hell #2809
Conversation
9738a63
to
7c1bb82
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Massive amount of work on a highly desired feature.
I'm glad to see this being done with a dynamite test to verify integration is working.
Left few comments / questions to let me understand better the change.
Phaty PR. Thank you @ddebowczyk92 for bringing this.
/* Copyright 2018-2024 contributors to the OpenLineage project | ||
/* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
package io.openlineage.shaded.spark.extension.v1.lifecycle.plan; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any reason for having io.openlineage.shaded.spark.extension.v1
instead of io.openlineage.spark.shaded.extension.v1
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe even different package name? io.openlineage.spark
suggests it's a part of openlineage-spark
mvn package.
io.openlineage.interfaces.spark
?
@@ -0,0 +1 @@ | |||
version=1.0.0-SNAPSHOT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this deliberate? how are you going to release it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think unshaded should have static version, manually bumped if needed. Release should skip it if the particular version is released.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok. can we then release it manually and merge to main version version=1.0.0
? I don't mind the approach taken but I think snapshot
version should be avoided.
.../main/java/io/openlineage/spark/agent/lifecycle/SparkOpenLineageExtensionVisitorWrapper.java
Show resolved
Hide resolved
...o/openlineage/shaded/spark/extension/v1/lifecycle/plan/SparkOpenLineageExtensionVisitor.java
Outdated
Show resolved
Hide resolved
...o/openlineage/shaded/spark/extension/v1/lifecycle/plan/SparkOpenLineageExtensionVisitor.java
Outdated
Show resolved
Hide resolved
.../main/java/io/openlineage/spark/agent/lifecycle/SparkOpenLineageExtensionVisitorWrapper.java
Show resolved
Hide resolved
integration/spark/shared/src/main/java/io/openlineage/spark/api/OpenLineageContext.java
Outdated
Show resolved
Hide resolved
6682bb3
to
cd3bd95
Compare
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
Signed-off-by: Dominik Dębowczyk <[email protected]>
cd3bd95
to
d1d1a13
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #2809 +/- ##
=======================================
Coverage 85.52% 85.52%
=======================================
Files 58 58
Lines 3413 3413
=======================================
Hits 2919 2919
Misses 494 494 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Dominik Dębowczyk <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
ignore: /.*/ | ||
context: release | ||
requires: | ||
- release-client-java |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @ddebowczyk92 for such a detailed work 👍
@@ -0,0 +1,38 @@ | |||
# Spark Extension Entrypoint |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs page in https://openlineage.io/docs/ (outside of this PR)
@@ -44,6 +43,7 @@ dependencies { | |||
api("io.openlineage:openlineage-java:${project.version}") | |||
api("io.openlineage:openlineage-sql-java:${project.version}") | |||
api("io.micrometer:micrometer-core:${micrometerVersion}") | |||
api("io.openlineage:spark-extension-entrypoint:1.0.0-SNAPSHOT") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chicken and egg release problem, right?
I think we just need to release entrypoint
separately first, before next regular OL release.
Problem
Closes: #2784
If you're contributing a new integration, please specify the scope of the integration and how/where it has been tested (e.g., Apache Spark integration supports
S3
andGCS
filesystem operations, tested with AWS EMR).One-line summary:
New Spark extension interfaces without runtime dependency hell
Checklist
SPDX-License-Identifier: Apache-2.0
Copyright 2018-2024 contributors to the OpenLineage project