Skip to content
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

HIVE-28658 Add Iceberg REST Catalog client support #5628

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

zratkai
Copy link
Contributor

@zratkai zratkai commented Jan 31, 2025

Change-Id: I5bb2559f7ca602b71f8ca03c852e2deff1a1bc52

What changes were proposed in this pull request?

Iceberg REST client implementation added to support Iceberg REST server connection.

Why are the changes needed?

To support Iceberg REST server connection.

Does this PR introduce any user-facing change?

No.

Is the change a dependency upgrade?

How was this patch tested?

Unit test.

Change-Id: I5bb2559f7ca602b71f8ca03c852e2deff1a1bc52
Class.forName("org.apache.iceberg.hive.HiveIcebergRESTCatalogClientAdapter", true, Utilities.getSessionSpecifiedClassLoader());
IMetaStoreClient restCatalogMetastoreClient = ReflectionUtils.newInstance(handlerClass, conf);
restCatalogMetastoreClient.reconnect();
return restCatalogMetastoreClient;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't disagree with this approach. However, if we replace IMetaStoreClient, I'd like you to resolve HIVE-12679, which is more generic and allows users to use Glue or another service.

Committers have asked us to discover solutions to implement some of SessionHiveMetaStoreClient's traits.
#4444

That's why we should make configurable not IMetaStoreClient but ThriftHiveMetastore.Iface.
https://issues.apache.org/jira/browse/HIVE-28658?focusedCommentId=17905019&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17905019

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@okumin thanks for checking my PR. I see the point to make it configurable, but as I see the ticket you mentioned didn't get a conclusion and it was closed and not merged. So I would suggest to handle this separately and once your is merged we can refactor this. WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@okumin could you please reopen your PR?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My PR has not reached any conclusion with which maintainers can agree. We have to reconsidering how we integrate some session features such as tmp tables.
This is the summary and my prososal. I'd like to hear your opinions as my recommendation is not aligned your PR

https://docs.google.com/document/d/1fFvB0DAXJvPYv27R8nLa3tOUT67-hY0owxBrDY-BxUA/edit?usp=sharing

@zhangbutao
Copy link
Contributor

@zratkai Thanks for your PR! Could you give an example of a test? Or the records & screenshots you've tested?

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.

4 participants