apache / apache/gravitino

[FEATURE] Support multi-catalog for Hive3 in Gravitino

Open
#8,225 0 comments 1 reaction 1 assignee Assigned to @diqiu50 View on GitHub
1.1.0 feature
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 16h
Merged PRs (30d)
298

Description

### Describe the feature

This feature request is to enable **multi-catalog support** for Hive3 in Gravitino. Hive3 introduced the concept of catalogs to allow users to manage multiple metastores or data sources under a unified interface. By supporting multi-catalog mode, Gravitino can interact with multiple Hive metastores seamlessly, enabling users to query and manage data across different catalogs without switching configurations manually.

**Key Requirements:**
1. Catalog Configuration: Allow users to define multiple Hive catalogs in the Gravitino configuration file or through dynamic runtime parameters.
2. Catalog Resolution: Implement a mechanism to resolve the correct catalog based on the query or user context.
3. Query Routing: Ensure that queries are routed to the appropriate Hive catalog/metastore based on the catalog prefix or namespace.
4. Backward Compatibility: Maintain compatibility with existing single-catalog configurations to ensure a smooth transition for current users.
5. Automatic Registration: Implement a mechanism to automatically detect and register new Hive catalogs/metastores.

### Motivation

1. **Hive3 Multi-Catalog Adoption**: Hive3's multi-catalog feature is increasingly being adopted in modern data platforms. Supporting this in Gravitino ensures compatibility with the latest Hive3 features.
2. **Flexibility**: Multi-catalog support allows users to manage and query data from multiple Hive metastores or namespaces without reconfiguring Gravitino for each metastore.
3. **Scalability**: Organizations often have multiple Hive metastores for different environments (e.g., dev, staging, production) or business units. Multi-catalog support simplifies managing these environments.
4. **Competitive Edge**: Adding this feature aligns Gravitino with other modern query engines that already support multi-catalog functionality, making it more attractive to users.
5. **Ease of Use**: Automatic registration and detection of new catalogs reduce manual configuration overhead and improve user experience.

### Describe the solution

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.