-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[feature](maxcompute)support maxcompte catalog read project-schema-table. #57012
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
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-DS: Total hot run time: 190491 ms |
ClickBench: Total hot run time: 29.95 s |
FE UT Coverage ReportIncrement line coverage |
FE Regression Coverage ReportIncrement line coverage |
| if (getClient().schemas().exists(dbName)) { | ||
| List<Partition> parts; | ||
| if (limit < 0) { | ||
| parts = getClient().tables().get(defaultProject, dbName, tbl).getPartitions(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are 9 places to call different version of getClient().tables().get().
I suggest to extract to a method in MCUtils.java
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i add a McStructureHelper interface to simple the logical of getclient().xxx
| // a variable is introduced: | ||
| // - When the property is true, the new architecture is used. | ||
| // - When the property is false, the old architecture is used. | ||
| public static final String PROJECT_SCHEMA_TABLE = "mc.project.schema.table"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest: mc.enable.namespace.schema
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix.
|
run buildall |
TPC-DS: Total hot run time: 190526 ms |
ClickBench: Total hot run time: 28.98 s |
FE UT Coverage ReportIncrement line coverage |
FE Regression Coverage ReportIncrement line coverage |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
…ble. (#57012) ### What problem does this PR solve? Problem Summary: In the previous MaxCompute architecture, and its mapping in Doris, the hierarchy was: `project / database -> table / table`. When creating a catalog, users needed to specify the property `mc.default.project`, which indicated the default project to access. In this structure, executing `SHOW DATABASES` would list other projects. After MaxCompute introduced the concept of schemas, the hierarchy changed to: `project / catalog -> schema / database -> table / table`. Here, the project is at a higher level, and `SHOW DATABASES` should now list all schemas under the current project. As a result, users need to create a separate catalog for each project, specifying a different `mc.default.project` property. doc: https://help.aliyun.com/zh/maxcompute/user-guide/schema-related-operations?spm=a2c4g.11186623.help-menu-search-27797.d_0#9d8326491bagj To maintain compatibility with the old version, a catalog property `mc.project.schema.table` is introduced: - When the property is true, the new architecture is used. - When the property is false, the old architecture is used.
…ble. (#57012) ### What problem does this PR solve? Problem Summary: In the previous MaxCompute architecture, and its mapping in Doris, the hierarchy was: `project / database -> table / table`. When creating a catalog, users needed to specify the property `mc.default.project`, which indicated the default project to access. In this structure, executing `SHOW DATABASES` would list other projects. After MaxCompute introduced the concept of schemas, the hierarchy changed to: `project / catalog -> schema / database -> table / table`. Here, the project is at a higher level, and `SHOW DATABASES` should now list all schemas under the current project. As a result, users need to create a separate catalog for each project, specifying a different `mc.default.project` property. doc: https://help.aliyun.com/zh/maxcompute/user-guide/schema-related-operations?spm=a2c4g.11186623.help-menu-search-27797.d_0#9d8326491bagj To maintain compatibility with the old version, a catalog property `mc.project.schema.table` is introduced: - When the property is true, the new architecture is used. - When the property is false, the old architecture is used.
…alog read project-schema-table. apache#57012 (apache#5620) cherry-picks from apache#57012 Related to apache#5289 Co-authored-by: daidai <changyuwei@selectdb.com>
What problem does this PR solve?
Problem Summary:
In the previous MaxCompute architecture, and its mapping in Doris, the hierarchy was:
project / database -> table / table. When creating a catalog, users needed to specify the propertymc.default.project, which indicated the default project to access. In this structure, executingSHOW DATABASESwould list other projects.After MaxCompute introduced the concept of schemas, the hierarchy changed to:
project / catalog -> schema / database -> table / table. Here, the project is at a higher level, andSHOW DATABASESshould now list all schemas under the current project. As a result, users need to create a separate catalog for each project, specifying a differentmc.default.projectproperty.doc: https://help.aliyun.com/zh/maxcompute/user-guide/schema-related-operations?spm=a2c4g.11186623.help-menu-search-27797.d_0#9d8326491bagj
To maintain compatibility with the old version, a catalog property
mc.project.schema.tableis introduced:- When the property is true, the new architecture is used.
- When the property is false, the old architecture is used.
Release note
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)