Skip to content

Conversation

@dingo4dev
Copy link
Contributor

@dingo4dev dingo4dev commented Oct 16, 2025

Rationale for this change

This PR introduces support for multi-part namespaces, enabling more flexible and organized data layouts. This feature allows users to structure their tables within nested hierarchies (e.g., ('database', 'schema', 'table')), which is a common pattern in many data warehouse systems.

The level of support varies depending on the underlying catalog implementation. Here's a summary of the changes:

Catalog Implementation Multi-Part Namespace Support Notes
REST Catalog ✅ Yes Fully supports multi-part namespaces as defined by the REST spec.
DynamoDB Catalog ✅ Yes The namespace is represented as a composite key.
File Catalog ✅ Yes Namespace parts are mapped to directory hierarchies in the file system.
In-Memory Catalog ✅ Yes Supports multi-part namespaces for testing purposes.
Hive Catalog ❌ No Spark and Hive Metastore do not support multi-part namespaces.
Glue Catalog ❌ No Uses AWS Glue databases which do not support multi-part namespaces.

closes #2240

Are these changes tested?

Are there any user-facing changes?

Enables catalogs to support hierarchical organization of tables through multi-part namespaces.

Introduces changes to the Catalog class and its implementations (DynamoDB, REST, SQL) to handle multi-part namespaces.
A new document is added to explain the usage of the multi-part namespace feature.

enable multipart namespace

Multipart namespace efers to a namespace that is structured with multiple levels or parts and default separated by a delmiiter dot (`.`)
improved type handling and added utility methods
@dingo4dev dingo4dev changed the title feat: Add support for multi-part namespaces feat: add support for multipart namespaces Oct 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Add Support for Multipart Namespace

1 participant