-
Notifications
You must be signed in to change notification settings - Fork 345
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
[EPIC] Refactor Java and Python client API for better user experience #3626
Comments
This was referenced May 29, 2024
Closed
shaofengshi
changed the title
[EPIC] Refactor Java client API for better user experience
[EPIC] Refactor Java and Python client API for better user experience
Jul 2, 2024
xunliu
pushed a commit
that referenced
this issue
Jul 3, 2024
…API: gravitino_metalake, gravitino_client (#4025) ### What changes were proposed in this pull request? After the refactoring work in Java client is done (#3626), the Python client should also get updated to align with the Java API. This PR mainly work on the following python classes: 1. gravitino_metalake.py 2. gravitino_client.py 3. gravitino_admin_client.py ### Why are the changes needed? To make the API simple and easy to use. Fix: #3732 ### Does this PR introduce _any_ user-facing change? Change the Python client API. ### How was this patch tested? The integration tests are updated and passed.
shaofengshi
pushed a commit
that referenced
this issue
Jul 3, 2024
…he Java client API (#4046) ### What changes were proposed in this pull request? After the refactoring work in Java client is done (#3626), the Python client should also get updated to align with the Java API. * Update all the catalog, schema and their implementation to align with `client-java` * Remove redundant methods in `Namespace` and `NameIdentifier` * Add some missing tests and modify existing tests to conform with new API ### Why are the changes needed? Fix: #3732 ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? UT added and test with `./gradlew clients:client-python:test` --------- Co-authored-by: TimWang <tim.wang@pranaq.com>
As all dev works are finished, close this issue. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the proposal
The current Java client API is not user-friendly in some aspects; For example, the function that asking a Table's NameIdentifier parameter must be a fully-qualified name (with metalake name, catalog name, together with schema name and table name):
`
Catalog catalog = metalake.loadCatalog(catalogName);
TableCatalog tableCatalog = catalog.asTableCatalog();
NameIdentifier id =
NameIdentifier.of(metalakeName, catalogName, schemaName, tableName);
Table t = tableCatalog.loadTable(id)
`
Actually this is not necessary. There are also other issues, create this epic as an umbrella for such refactoring.
Task list
The text was updated successfully, but these errors were encountered: