Skip to content

Commit 9cd06da

Browse files
committed
address feedback
1 parent ed474dd commit 9cd06da

File tree

1 file changed

+16
-19
lines changed

1 file changed

+16
-19
lines changed

site/content/in-dev/unreleased/generic-table.md

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type: docs
2222
weight: 435
2323
---
2424

25-
The Generic Table in Apache Polaris provides the following capabilities for non-Iceberg tables:
25+
The Generic Table in Apache Polaris is designed to provide support for non-Iceberg tables across different table formats includes delta, csv etc. It currently provides the following capabilities:
2626
- Create a generic table under a namespace
2727
- Load a generic table
2828
- Drop a generic table
@@ -40,7 +40,9 @@ A generic table in Polaris is an entity that defines the following fields:
4040
- The table base location is a location that includes all files for the table
4141
- A table with multiple disjoint locations (i.e. containing files that are outside the configured base location) is not compliant with the current generic table support in Polaris.
4242
- If no location is provided, clients or users are responsible for managing the location.
43-
- **properties** (optional): Properties for the generic table passed on creation
43+
- **properties** (optional): Properties for the generic table passed on creation.
44+
- Currently, there is no reserved property key defined.
45+
- The property definition and interpretation is delegated to client or engine implementations.
4446
- **doc** (optional): Comment or description for the table
4547

4648
## Generic Table API Vs. Iceberg Table API
@@ -55,7 +57,8 @@ the Iceberg table entities.
5557
| Drop Table | Drop an Iceberg table. Similar as load table, if the table to drop is a Generic table, a tableNotFoundException will be thrown. | Drop a generic table. Drop an Iceberg table through Generic table endpoint will thrown an TableNotFound Exception |
5658
| List Table | List all Iceberg tables | List all generic tables |
5759

58-
Note that generic table shares the same namespace with Iceberg tables, the table name has to be unique under the same namespace.
60+
Note that generic table shares the same namespace with Iceberg tables, the table name has to be unique under the same namespace. Furthermore, since
61+
there is currently no support for Update Generic Table, any update to the existing table requires a drop and re-create.
5962

6063
## Working with Generic Table
6164

@@ -104,7 +107,7 @@ The REST endpoint for load a generic table is `GET /polaris/v1/{prefix}/namespac
104107

105108
Here is an example to load the table `delta_table` using curl:
106109
```shell
107-
GET /polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/{generic-table}
110+
curl -X GET http://localhost:8181/api/catalog/polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/delta_table
108111
```
109112
And the response looks like the following:
110113
```json
@@ -121,15 +124,13 @@ And the response looks like the following:
121124
}
122125
```
123126

124-
### List a Generic Table
125-
Here is the REST API for listing the generic tables under a given namespace:
126-
```shell
127-
GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/
128-
```
127+
### List Generic Tables
128+
The REST endpoint for listing the generic tables under a given
129+
namespace is `GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/`.
129130

130-
Following rest call lists all tables under namespace delta_namespace:
131+
Following curl command lists all tables under namespace delta_namespace:
131132
```shell
132-
GET /polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/
133+
curl -X GET http://localhost:8181/api/catalog/polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/
133134
```
134135
Example Response:
135136
```json
@@ -145,24 +146,20 @@ Example Response:
145146
```
146147

147148
### Drop a Generic Table
148-
The drop generic table REST API is the following:
149-
```shell
150-
DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}
151-
```
149+
The drop generic table REST endpoint is `DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}`
152150

153-
To drop the table `delat_table`, use the following:
151+
The following curl call drops the table `delat_table`:
154152
```shell
155-
DELETE /polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/{generic-table}
153+
curl -X DELETE http://localhost:8181/api/catalog/polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/{generic-table}
156154
```
157155

158156
### API Reference
159157

160158
For the complete and up-to-date API specification, see the [Catalog API Spec](https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml).
161159

162-
163160
## Limitations
164161

165-
The Generic Table support today is very limited:
162+
Current limitations of Generic Table support:
166163
1) Limited spec information. Currently, there is no spec for information like Schema, Partition etc.
167164
2) No commit coordination or update capability provided at the catalog service level.
168165

0 commit comments

Comments
 (0)