-
Notifications
You must be signed in to change notification settings - Fork 250
Add license and notice to spark client jar and push jar to maven #1830
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
Apache Polaris (incubating) | ||
Copyright 2025 The Apache Software Foundation | ||
|
||
This product includes software developed at | ||
The Apache Software Foundation (http://www.apache.org/). | ||
|
||
The initial code for the Polaris project was donated | ||
to the ASF by Snowflake Inc. (https://www.snowflake.com/) copyright 2024. | ||
|
||
-------------------------------------------------------------------------------- | ||
|
||
This project includes code from Project Nessie, developed at Dremio, | ||
with the following copyright notice: | ||
|
||
| Nessie | ||
| Copyright 2015-2025 Dremio Corporation |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -71,7 +71,7 @@ bin/spark-shell \ | |
--conf spark.sql.catalog.<spark-catalog-name>.scope='PRINCIPAL_ROLE:ALL' \ | ||
--conf spark.sql.catalog.<spark-catalog-name>.token-refresh-enabled=true | ||
``` | ||
Assume the released Polaris Spark client you want to use is `org.apache.polaris:polaris-iceberg-1.8.1-spark-runtime-3.5_2.12:1.0.0`, | ||
Assume the released Polaris Spark client you want to use is `org.apache.polaris:polaris-spark-3.5_2.12:1.0.0`, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are we sure spark can download the bundle jar with the following config? Can we test it out? I'm not sure how do we test it against local mvn repo though, one way is to merge this into nightly maven repo first, then test it out.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I haven't tested it out yet. once it is into nightly maven repo, i can test it out and update the doc if needed. |
||
replace the `polaris-spark-client-package` field with the release. | ||
|
||
The `spark-catalog-name` is the catalog name you will use with Spark, and `polaris-catalog-name` is the catalog name used | ||
|
Uh oh!
There was an error while loading. Please reload this page.
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.
Think a bit more, I think it'd be nice to have the iceberg version in the package name. Otherwise, debugging would be tricky. Users couldn't figure out the Iceberg lib version easily.
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.
Wondering if we could apply the Iceberg version as we did for Scala version.
Uh oh!
There was an error while loading. Please reload this page.
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.
The name of the jar now seems <project_name>-<polaris_version>-.jar, and the scala_version is embedded in the project_name, such as spark-3.5_2.12. I don't think it is a good idea to have iceberg version as project name, since the iceberg version might gets updated more frequently.
i don't think we can touch polaris_version also, then classifier is the only place . however, it seems wired that the iceberg version is after the polaris version. I think what we can do is publish on the webpage about the iceberg client compatibility. Given in long term, we may not need iceberg version in the package name also.
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.
Users can open up the jar file to figure out the embedded Iceberg version. But my concern is that a lot of users don't know that or couldn't do that easily. I think it's still valuable to provide the iceberg versions as it's embedded. Unless we figure out a way to not embed it.
We need to release a new version for this plugin every time we update the embedded Iceberg version.
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.
True. The only option is to play with the project name.
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.
It's not a blocker to me for this PR. We could figure it out later.
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 don't think we need to release a new version for this plugin every time update the embedded Iceberg version. i only need to release a new version every time we do a release, whatever iceberg version shipped during the release, it will be the version, right? However, if we we have it in the project name, then the project name has to be updated every time the iceberg version is updated, which I don't think it is a good idea, which can be very frequently.
I tried couple of ways to retain the original jar name, so far didn't find a good way yet, we can continue investigating. However, i hope in long term, we don't have to ship iceberg runtime in the bundle, and I think we should definitely have a doc/webpage somewhere to doc the compatible iceberg version regardless whether it is in the name or not.
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.
+1
I don't think we need to do that.
Thanks for the investigation! Let's doc it first.
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.
Sorry, i meant every time we update the iceberg dependency version in Polaris, for example, when polaris is updated from 1.7 -> 1.8 -> 1.9, i don't mean every time when there is new iceberg version available.
Actually, after some thought, i don't think we should include the iceberg version in the package name. The polaris client is a client we provided for spark to communicate with polaris, the spark scala version is used to tell the spark scala compatibility when choosing which library to use. For the iceberg, even though we ship an iceberg runtime along with our package today, we don't really guarantee any compatibility with the iceberg client, in other words, user can not use an iceberg runtime jar with the polaris jar we provided. The iceberg client is more like a dependency we ship with, which i think makes more sense to be doc correctly, instead of add it in the package name, which actually could be confusing to users in other aspects also.