Skip to content

Conversation

@henrib
Copy link
Contributor

@henrib henrib commented Jan 10, 2025

What changes were proposed in this pull request?

This is a basic implementation of the Iceberg REST Catalog as a service embedded within HMS.

Why are the changes needed?

For Hive users that have started using Iceberg to store data and want to expose those same tables to external query engines, implementing the Iceberg REST catalog embedded within HMS allows an easy upgrade and deployment path.
Although a dedicated service to host the REST catalog is certainly desirable, it also implies deploying and managing another service.

Does this PR introduce any user-facing change?

It does since HMS then 'hosts' a servlet that implements the Iceberg REST Catalog API.

Is the change a dependency upgrade?

No.

How was this patch tested?

Unit tests.

(Restart of #5145 )

# Conflicts:
#	iceberg/iceberg-handler/src/test/results/positive/llap/iceberg_major_compaction_partition_evolution_w_id_spec_w_filter.q.out
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 8, 2025

@henrib
Copy link
Contributor Author

henrib commented Mar 10, 2025

All checks have passed :-)

@nrg4878 nrg4878 merged commit 4108ec4 into apache:master Mar 10, 2025
6 checks passed
@nrg4878
Copy link
Contributor

nrg4878 commented Mar 10, 2025

Thank you for all the effort in implementing this feature, reviewing this PR and incorporating that feedback. Much much appreciated. @henrib @deniskuzZ @dengzhhu653 @zhangbutao @aturoczy @saihemanth-cloudera @InvisibleProgrammer

@deniskuzZ
Copy link
Member

Special thanks to @henrib for your persistence, patience, and dedication in bringing this feature to completion!

@epilif1017a
Copy link

Hey everyone :) do we have docs on how to use this fantastic feature?

@aturoczy
Copy link

aturoczy commented Sep 23, 2025

@epilif1017a In progress. As I know soon it will be documented

@epilif1017a
Copy link

epilif1017a commented Sep 23, 2025

@aturoczy Awesome 😎 thanks a lot! if you guys have some rough internal docs I'll take it as well! I'm starting a project where a modernized version of the hive metastore would come in handy and I'm battling out several client server dependency issues that the rest catalog would probably help surpass.

@zratkai
Copy link
Contributor

zratkai commented Sep 23, 2025

@epilif1017a this is for Iceberg catalog, so if you use it for Iceberg related thing it should work, but for other may not.

@nrg4878
Copy link
Contributor

nrg4878 commented Sep 23, 2025

We will work on enhancing the documentation. But meanwhile, perhaps the unit tests, that use http client, will give you an idea on how to use it.

@epilif1017a
Copy link

@epilif1017a this is for Iceberg catalog, so if you use it for Iceberg related thing it should work, but for other may not.

Precisely for that. @nrg4878 thanks for the tip! Will try it! Thank you so much for the direction.

Eager to see where hive metastore evolves in this era! Always been a fan of the project and I believe the metastore should continue to be a very important part of projects like Spark, Trino, etc. Maybe this rest based version is the way to move into a modernized era of the metastore! Have fun with the project. Thanks once again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.