youngyjd opened a new pull request, #9130:
URL: https://github.com/apache/gravitino/pull/9130

   ### What changes were proposed in this pull request?
   
   1. **Schema Operations**: Implemented full CRUD support
      - `createSchema`: Create new schemas with properties
      - `listSchemas`: List all schemas in the catalog
      - `loadSchema`: Load schema metadata
      - `alterSchema`: Modify schema properties
      - `dropSchema`: Delete schemas (with cascade option)
   
   2. **Managed Storage Framework**:
      - Added `lakehouse-dir` property for catalog-level storage configuration
      - Added `lakehouse-dir` property for schema-level storage configuration 
(overrides catalog-level)
      - Implemented path handling with trailing slash normalization
   
   3. **Dependencies**:
      - Added `hadoop3-client-api` dependency for filesystem operations
   
   
   ### Why are the changes needed?
   
   This PR builds upon the generic lakehouse catalog framework (#8833) by 
implementing the schema layer, which is essential for:
   
   1. **Foundation for Table Operations**: Schema management is a prerequisite 
for table operations (planned in future PRs)
   2. **Managed Metadata**: Stores schema metadata in Gravitino's entity store, 
enabling centralized management
   3. **Storage Flexibility**: Allows per-schema storage configuration, 
supporting multi-tenant and multi-storage scenarios
   4. **Catalog Completeness**: Moves the catalog from framework-only to 
functional for schema operations
   
   Without schema operations, users cannot organize their lakehouse data into 
logical namespaces, making the catalog incomplete for practical use.
   
   Fix: #8835 #8836 
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes, users can now:
   - Create generic lakehouse catalogs with `provider: "generic-lakehouse"`
   - Perform schema operations: create, list, load, alter, and drop schemas
   - Configure storage locations at catalog and schema levels using 
`lakehouse-dir` property
   - Use various storage backends (local filesystem, HDFS, S3, GCS, ADLS) via 
`gravitino.bypass.*` properties
   
   **Note**: Table operations are not included in this PR and will return 
`UnsupportedOperationException`. This is expected and will be implemented in 
subsequent PRs.
   
   ### How was this patch tested?
   
   Unit test
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to