jackye1995 commented on code in PR #9695: URL: https://github.com/apache/iceberg/pull/9695#discussion_r1511858632
########## open-api/rest-catalog-open-api.yaml: ########## @@ -537,6 +537,108 @@ paths: 5XX: $ref: '#/components/responses/ServerErrorResponse' + /v1/{prefix}/namespaces/{namespace}/tables/{table}/preplan: + parameters: + - $ref: '#/components/parameters/prefix' + - $ref: '#/components/parameters/namespace' + - $ref: '#/components/parameters/table' + post: + tags: + - Catalog API + summary: Find plan-tasks based on a plan context. + description: + Scan pre-planning creates a set of opaque planning tasks for a set of scan configuration options. + Each task can be passed to the plan endpoint to fetch a (disjoint) subset of the file scan tasks for the scan. + + Scan pre-planning enables breaking scan planning across multiple tasks. + This can be used to parallelize scan planning requests, use fewer resources in each planning request, + or to delay parts of scan planning that may not be needed. + operationId: PreplanTable + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PreplanTableRequest' + responses: + 200: + $ref: '#/components/responses/PreplanTableResponse' + 400: + $ref: '#/components/responses/BadRequestErrorResponse' + 401: + $ref: '#/components/responses/UnauthorizedResponse' + 403: + $ref: '#/components/responses/ForbiddenResponse' + 404: + description: + Not Found + - NoSuchTableException, the table does not exist + - NoSuchNamespaceException, the namespace does not exist + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorModel' + examples: + TableDoesNotExist: + $ref: '#/components/examples/NoSuchTableError' + NamespaceDoesNotExist: + $ref: '#/components/examples/NoSuchNamespaceError' + 419: + $ref: '#/components/responses/AuthenticationTimeoutResponse' + 503: + $ref: '#/components/responses/ServiceUnavailableResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + + /v1/{prefix}/namespaces/{namespace}/tables/{table}/plan: + parameters: + - $ref: '#/components/parameters/prefix' + - $ref: '#/components/parameters/namespace' + - $ref: '#/components/parameters/table' + post: + tags: + - Catalog API + summary: Initiate plan on table to find relevant file scan tasks for a specific query. + operationId: PlanTable + description: + When a user submits a query, a plan will be initiated to find the relevant file scan tasks + based on the user's selected columns, and filters. For enhanced query performance, + users can provide a plan-task which will distribute the planning work. Review Comment: ```suggestion Perform scan planning against a table based on the user's scan requirements including selected columns and filters. Users can provide an optional `plan-task` from the response of `PreplanTable` API to limit scan planning to only a subset of table files. ``` -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org