You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: site/content/in-dev/unreleased/generic-table.md
+16-19Lines changed: 16 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ type: docs
22
22
weight: 435
23
23
---
24
24
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:
26
26
- Create a generic table under a namespace
27
27
- Load a generic table
28
28
- Drop a generic table
@@ -40,7 +40,9 @@ A generic table in Polaris is an entity that defines the following fields:
40
40
- The table base location is a location that includes all files for the table
41
41
- 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.
42
42
- 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.
44
46
-**doc** (optional): Comment or description for the table
45
47
46
48
## Generic Table API Vs. Iceberg Table API
@@ -55,7 +57,8 @@ the Iceberg table entities.
55
57
| 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 |
56
58
| List Table | List all Iceberg tables | List all generic tables |
57
59
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.
59
62
60
63
## Working with Generic Table
61
64
@@ -104,7 +107,7 @@ The REST endpoint for load a generic table is `GET /polaris/v1/{prefix}/namespac
104
107
105
108
Here is an example to load the table `delta_table` using curl:
106
109
```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
108
111
```
109
112
And the response looks like the following:
110
113
```json
@@ -121,15 +124,13 @@ And the response looks like the following:
121
124
}
122
125
```
123
126
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/`.
129
130
130
-
Following rest call lists all tables under namespace delta_namespace:
131
+
Following curl command lists all tables under namespace delta_namespace:
131
132
```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/
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).
161
159
162
-
163
160
## Limitations
164
161
165
-
The Generic Table support today is very limited:
162
+
Current limitations of Generic Table support:
166
163
1) Limited spec information. Currently, there is no spec for information like Schema, Partition etc.
167
164
2) No commit coordination or update capability provided at the catalog service level.
0 commit comments