diff --git a/docs/assets/webui/catalog-in-use.png b/docs/assets/webui/catalog-in-use.png new file mode 100644 index 00000000000..a27cc5f64d8 Binary files /dev/null and b/docs/assets/webui/catalog-in-use.png differ diff --git a/docs/assets/webui/catalog-not-in-use.png b/docs/assets/webui/catalog-not-in-use.png new file mode 100644 index 00000000000..358365ed424 Binary files /dev/null and b/docs/assets/webui/catalog-not-in-use.png differ diff --git a/docs/assets/webui/create-fileset.png b/docs/assets/webui/create-fileset.png new file mode 100644 index 00000000000..6d93d9586e4 Binary files /dev/null and b/docs/assets/webui/create-fileset.png differ diff --git a/docs/assets/webui/create-schema.png b/docs/assets/webui/create-schema.png new file mode 100644 index 00000000000..b96916b2750 Binary files /dev/null and b/docs/assets/webui/create-schema.png differ diff --git a/docs/assets/webui/created-catalog.png b/docs/assets/webui/created-catalog.png index 2de7b49da4f..dae5e57053d 100644 Binary files a/docs/assets/webui/created-catalog.png and b/docs/assets/webui/created-catalog.png differ diff --git a/docs/assets/webui/delete-catalog.png b/docs/assets/webui/delete-catalog.png index 56084b2c5ae..23e6e5ae1db 100644 Binary files a/docs/assets/webui/delete-catalog.png and b/docs/assets/webui/delete-catalog.png differ diff --git a/docs/assets/webui/delete-fileset.png b/docs/assets/webui/delete-fileset.png new file mode 100644 index 00000000000..3cf81d2f13e Binary files /dev/null and b/docs/assets/webui/delete-fileset.png differ diff --git a/docs/assets/webui/delete-metalake.png b/docs/assets/webui/delete-metalake.png index 3717724735b..05fd67d43af 100644 Binary files a/docs/assets/webui/delete-metalake.png and b/docs/assets/webui/delete-metalake.png differ diff --git a/docs/assets/webui/delete-schema.png b/docs/assets/webui/delete-schema.png new file mode 100644 index 00000000000..d7f9cc784bd Binary files /dev/null and b/docs/assets/webui/delete-schema.png differ diff --git a/docs/assets/webui/demo-columns.png b/docs/assets/webui/demo-columns.png deleted file mode 100644 index ee54456d7b4..00000000000 Binary files a/docs/assets/webui/demo-columns.png and /dev/null differ diff --git a/docs/assets/webui/demo-tables.png b/docs/assets/webui/demo-tables.png deleted file mode 100644 index b8b8cd83c0c..00000000000 Binary files a/docs/assets/webui/demo-tables.png and /dev/null differ diff --git a/docs/assets/webui/fileset-details.png b/docs/assets/webui/fileset-details.png index 7d0253daacf..6a190bdbe76 100644 Binary files a/docs/assets/webui/fileset-details.png and b/docs/assets/webui/fileset-details.png differ diff --git a/docs/assets/webui/fileset-selected-details.png b/docs/assets/webui/fileset-selected-details.png new file mode 100644 index 00000000000..9ca78b02e47 Binary files /dev/null and b/docs/assets/webui/fileset-selected-details.png differ diff --git a/docs/assets/webui/list-columns.png b/docs/assets/webui/list-columns.png new file mode 100644 index 00000000000..f5235a401a5 Binary files /dev/null and b/docs/assets/webui/list-columns.png differ diff --git a/docs/assets/webui/list-filesets.png b/docs/assets/webui/list-filesets.png new file mode 100644 index 00000000000..c0e2c7eaeb3 Binary files /dev/null and b/docs/assets/webui/list-filesets.png differ diff --git a/docs/assets/webui/list-schemas.png b/docs/assets/webui/list-schemas.png new file mode 100644 index 00000000000..4e267e535a0 Binary files /dev/null and b/docs/assets/webui/list-schemas.png differ diff --git a/docs/assets/webui/list-tables.png b/docs/assets/webui/list-tables.png new file mode 100644 index 00000000000..921159b60bb Binary files /dev/null and b/docs/assets/webui/list-tables.png differ diff --git a/docs/assets/webui/metalake-details.png b/docs/assets/webui/metalake-details.png index 361dfeeca1f..2c29e0819bb 100644 Binary files a/docs/assets/webui/metalake-details.png and b/docs/assets/webui/metalake-details.png differ diff --git a/docs/assets/webui/metalake-in-use.png b/docs/assets/webui/metalake-in-use.png new file mode 100644 index 00000000000..7c5dc73d346 Binary files /dev/null and b/docs/assets/webui/metalake-in-use.png differ diff --git a/docs/assets/webui/metalake-list.png b/docs/assets/webui/metalake-list.png index aabc3b0b9d4..d288d6cc4cb 100644 Binary files a/docs/assets/webui/metalake-list.png and b/docs/assets/webui/metalake-list.png differ diff --git a/docs/assets/webui/metalake-not-in-use.png b/docs/assets/webui/metalake-not-in-use.png new file mode 100644 index 00000000000..5149fdba85f Binary files /dev/null and b/docs/assets/webui/metalake-not-in-use.png differ diff --git a/docs/assets/webui/props-authentication-kerberos.png b/docs/assets/webui/props-authentication-kerberos.png new file mode 100644 index 00000000000..2c10af76ccc Binary files /dev/null and b/docs/assets/webui/props-authentication-kerberos.png differ diff --git a/docs/assets/webui/props-authentication-type.png b/docs/assets/webui/props-authentication-type.png new file mode 100644 index 00000000000..4d04ec6316a Binary files /dev/null and b/docs/assets/webui/props-authentication-type.png differ diff --git a/docs/assets/webui/props-hudi.png b/docs/assets/webui/props-hudi.png new file mode 100644 index 00000000000..b73c0e7eb32 Binary files /dev/null and b/docs/assets/webui/props-hudi.png differ diff --git a/docs/assets/webui/props-oceanbase.png b/docs/assets/webui/props-oceanbase.png new file mode 100644 index 00000000000..0a4fb7c82dd Binary files /dev/null and b/docs/assets/webui/props-oceanbase.png differ diff --git a/docs/assets/webui/props-paimon-filesystem.png b/docs/assets/webui/props-paimon-filesystem.png new file mode 100644 index 00000000000..2a328d6d989 Binary files /dev/null and b/docs/assets/webui/props-paimon-filesystem.png differ diff --git a/docs/assets/webui/props-paimon-hive.png b/docs/assets/webui/props-paimon-hive.png new file mode 100644 index 00000000000..a53a3304899 Binary files /dev/null and b/docs/assets/webui/props-paimon-hive.png differ diff --git a/docs/assets/webui/props-paimon-jdbc.png b/docs/assets/webui/props-paimon-jdbc.png new file mode 100644 index 00000000000..349994c2551 Binary files /dev/null and b/docs/assets/webui/props-paimon-jdbc.png differ diff --git a/docs/assets/webui/schema-details.png b/docs/assets/webui/schema-details.png new file mode 100644 index 00000000000..4e431aa6fdf Binary files /dev/null and b/docs/assets/webui/schema-details.png differ diff --git a/docs/assets/webui/show-catalog-details.png b/docs/assets/webui/show-catalog-details.png index f66786f2d97..6058f07f888 100644 Binary files a/docs/assets/webui/show-catalog-details.png and b/docs/assets/webui/show-catalog-details.png differ diff --git a/docs/assets/webui/tree-view-reload-catalog.png b/docs/assets/webui/tree-view-reload-catalog.png index e0758248f28..91bbf84221c 100644 Binary files a/docs/assets/webui/tree-view-reload-catalog.png and b/docs/assets/webui/tree-view-reload-catalog.png differ diff --git a/docs/assets/webui/tree-view.png b/docs/assets/webui/tree-view.png index 9be54f9fa84..58d3c5c30e3 100644 Binary files a/docs/assets/webui/tree-view.png and b/docs/assets/webui/tree-view.png differ diff --git a/docs/assets/webui/update-catalog.png b/docs/assets/webui/update-catalog.png index 30eaae8e7a5..4cf8d7c9bb2 100644 Binary files a/docs/assets/webui/update-catalog.png and b/docs/assets/webui/update-catalog.png differ diff --git a/docs/assets/webui/update-fileset-dialog.png b/docs/assets/webui/update-fileset-dialog.png new file mode 100644 index 00000000000..a769aa73f92 Binary files /dev/null and b/docs/assets/webui/update-fileset-dialog.png differ diff --git a/docs/assets/webui/update-schema-dialog.png b/docs/assets/webui/update-schema-dialog.png new file mode 100644 index 00000000000..4637be8e899 Binary files /dev/null and b/docs/assets/webui/update-schema-dialog.png differ diff --git a/docs/webui.md b/docs/webui.md index 3a174234062..960eb821f74 100644 --- a/docs/webui.md +++ b/docs/webui.md @@ -3,8 +3,8 @@ title: 'Apache Gravitino web UI' slug: /webui keyword: webui last_update: - date: 2024-04-12 - author: ch3yne + date: 2024-10-30 + author: LauraXia123 license: 'This software is licensed under the Apache License version 2.' --- @@ -59,7 +59,7 @@ Such as Safari need to enable the developer menu, and select `Disable Cross-Orig 1. Enter the values corresponding to your specific configuration. For detailed instructions, please refer to [Security](security/security.md). -2. Clicking on the `LOGIN` button takes you to the homepage. +2. Click on the `LOGIN` button takes you to the homepage. ![webui-metalakes-oauth](./assets/webui/metalakes-oauth.png) @@ -91,7 +91,7 @@ There are 3 actions you can perform on a metalake. #### Show metalake details -Clicking on the action icon in the table cell. +Click on the action icon in the table cell. You can see the detailed information of this metalake in the drawer component on the right. @@ -99,37 +99,49 @@ You can see the detailed information of this metalake in the drawer component on #### Edit metalake -Clicking on the action icon in the table cell. +Click on the action icon in the table cell. Displays the dialog for modifying fields of the selected metalake. ![create-metalake-dialog](./assets/webui/create-metalake-dialog.png) -#### Delete metalake +#### Disable metalake -Clicking on the action icon in the table cell. +Metalake defaults to in-use after successful creation. -Displays a confirmation dialog, clicking on the `SUBMIT` button deletes this metalake. +Mouse over the switch next to the metalake's name to see the 'In-use' tip. + +![metalake-in-use](./assets/webui/metalake-in-use.png) + +Click on the switch will disable the metalake, mouse over the switch next to the metalake's name to see the 'Not in-use' tip. + +![metalake-not-in-use](./assets/webui/metalake-not-in-use.png) + +#### Drop metalake + +Click on the action icon in the table cell. + +Displays a confirmation dialog, clicking on the `DROP` button drops this metalake. ![delete-metalake](./assets/webui/delete-metalake.png) ### Catalog -Clicking on a metalake name in the table views catalogs in a metalake. +Click on a metalake name in the table views catalogs in a metalake. If this is the first time, it shows no data until after creating a catalog. -Clicking on the left arrow icon button takes you to the metalake page. +Click on the left arrow icon button takes you to the metalake page. ![metalake-catalogs](./assets/webui/metalake-catalogs.png) -Clicking on the Tab - `DETAILS` views the details of the catalog on the metalake catalogs page. +Click on the Tab - `DETAILS` views the details of the metalake on the metalake catalogs page. ![metalake-catalogs-details](./assets/webui/metalake-catalogs-details.png) On the left side of the page is a tree list, and the icons of the catalog correspond to their type and provider. -- Catalog +- Catalog (e.g. iceberg catalog) - Schema - Table @@ -141,7 +153,7 @@ Hover your mouse over the corresponding icon to the data changes to a reload ico #### Create catalog -Clicking on the `CREATE CATALOG` button displays the dialog to create a catalog. +Click on the `CREATE CATALOG` button displays the dialog to create a catalog. ![create-catalog](./assets/webui/create-catalog.png) @@ -150,7 +162,7 @@ Creating a catalog requires these fields: 1. **Catalog name**(**_required_**): the name of the catalog 2. **Type**(**_required_**): `relational`/`fileset`/`messaging`, the default value is `relational` 3. **Provider**(**_required_**): - 1. Type `relational` - `hive`/`iceberg`/`mysql`/`postgresql`/`doris` + 1. Type `relational` - `hive`/`iceberg`/`mysql`/`postgresql`/`doris`/`paimon`/`hudi`/`oceanbase` 2. Type `fileset` - `hadoop` 3. Type `messaging` - `kafka` 4. **Comment**(_optional_): the comment of this catalog @@ -203,6 +215,20 @@ Creating a catalog requires these fields: |jdbc-user |jdbc username | |jdbc-password|jdbc password | + the parameter `authentication.type` provides two values: `simple`, and `Kerberos`. + + + + - `Kerberos` + + + + |Key |Description | + |----------------------------------|-------------------------------------------------------------------------------------------------------------| + |authentication.type |The type of authentication for Paimon catalog backend, currently Gravitino only supports Kerberos and simple.| + |authentication.kerberos.principal |The principal of the Kerberos authentication. | + |authentication.kerberos.keytab-uri|The URI of The keytab for the Kerberos authentication. | + Follow the [JDBC MySQL catalog](./jdbc-mysql-catalog.md) document. @@ -224,7 +250,7 @@ Creating a catalog requires these fields: |Key |Description | |-------------|-----------------------------------------------------| - |jdbc-driver |e.g. `org.postgresql.Driver` | + |jdbc-driver |e.g. `org.postgresql.Driver` | |jdbc-url |e.g. `jdbc:postgresql://localhost:5432/your_database`| |jdbc-user |The JDBC user name | |jdbc-password|The JDBC password | @@ -244,6 +270,84 @@ Creating a catalog requires these fields: |jdbc-password|The JDBC password | + + Follow the [lakehouse-paimon-catalog](./lakehouse-paimon-catalog.md) document. + + the parameter `catalog-backend` provides three values: `filesystem`, `hive`, and `jdbc`. + + |Key |Description | + |---------------|-------------------------------| + |catalog-backend|`filesystem`, `hive`, or `jdbc`| + + - `filesystem` + + + + |Key |Description | + |---------|--------------------------------| + |warehouse|Paimon catalog warehouse config | + + - `hive` + + + + |Key |Description | + |---------|--------------------------------| + |uri |Paimon catalog URI config | + |warehouse|Paimon catalog warehouse config | + + - `jdbc` + + + + |Key |Description | + |-------------|-------------------------------------------------------------------------------------------------------| + |uri |Paimon catalog URI config | + |warehouse |Paimon catalog warehouse config | + |jdbc-driver |"com.mysql.jdbc.Driver" or "com.mysql.cj.jdbc.Driver" for MySQL, "org.postgresql.Driver" for PostgreSQL| + |jdbc-user |jdbc username | + |jdbc-password|jdbc password | + + the parameter `authentication.type` provides two values: `simple`, and `Kerberos`. + + + + - `Kerberos` + + + + + |Key |Description | + |----------------------------------|-------------------------------------------------------------------------------------------------------------| + |authentication.type |The type of authentication for Paimon catalog backend, currently Gravitino only supports Kerberos and simple.| + |authentication.kerberos.principal |The principal of the Kerberos authentication. | + |authentication.kerberos.keytab-uri|The URI of The keytab for the Kerberos authentication. | + + + + Follow the [lakehouse-hudi-catalog](./lakehouse-hudi-catalog.md) document. + + + + |Key |Description | + |---------------|-------------------------------| + |catalog-backend|`hms` | + |uri |Hudi catalog URI config | + + + + Follow the [jdbc-oceanbase-catalog](./jdbc-oceanbase-catalog.md) document. + + + + |Key |Description | + |-------------|-----------------------------------------------------------------------------------| + |jdbc-driver |e.g. com.mysql.jdbc.Driver or com.mysql.cj.jdbc.Driver or com.oceanbase.jdbc.Driver| + |jdbc-url |e.g. jdbc:mysql://localhost:2881 or jdbc:oceanbase://localhost:2881 | + |jdbc-user |The JDBC user name | + |jdbc-password|The JDBC password | + + :::tip @@ -282,7 +386,7 @@ After verifying the values of these fields, clicking on the `CREATE` button crea #### Show catalog details -Clicking on the action icon in the table cell. +Click on the action icon in the table cell. You can see the detailed information of this catalog in the drawer component on the right. @@ -290,7 +394,7 @@ You can see the detailed information of this catalog in the drawer component on #### Edit catalog -Clicking on the action icon in the table cell. +Click on the action icon in the table cell. Displays the dialog for modifying fields of the selected catalog. @@ -300,26 +404,128 @@ Only the `name`, `comment`, and custom fields in `properties` can be modified, o The fields that are not allowed to be modified cannot be selected and modified in the web UI. +#### Disable catalog + +Catalog defaults to in-use after successful creation. + +Mouse over the switch next to the catalog's name to see the 'In-use' tip. + +![catalog-in-use](./assets/webui/catalog-in-use.png) + +Click on the switch will disable the catalog, mouse over the switch next to the catalog's name to see the 'Not in-use' tip. + +![catalog-not-in-use](./assets/webui/catalog-not-in-use.png) + #### Delete catalog -Clicking on the action icon in the table cell. +Click on the action icon in the table cell. Displays a confirmation dialog, clicking on the SUBMIT button deletes this catalog. ![delete-catalog](./assets/webui/delete-catalog.png) ### Schema +Click the catalog tree node on the left sidebar or the catalog name link in the table cell. + +Displays the list schemas of the catalog. + +![list-schemas](./assets/webui/list-schemas.png) + +#### Create schema + +Click on the `CREATE SCHEMA` button displays the dialog to create a schema. + +![create-schema](./assets/webui/create-schema.png) + +Creating a schema needs these fields: + +1. **Name**(**_required_**): the name of the schema. +2. **Comment**(_optional_): the comment of the schema. +3. **Properties**(_optional_): Click on the `ADD PROPERTY` button to add custom properties. + +#### Show schema details + +Click on the action icon in the table cell. + +You can see the detailed information of this schema in the drawer component on the right. + +![schema-details](./assets/webui/schema-details.png) + +#### Edit schema + +Click on the action icon in the table cell. + +Displays the dialog for modifying fields of the selected schema. + +![update-schema-dialog](./assets/webui/update-schema-dialog.png) + +#### Drop schema + +Click on the action icon in the table cell. -![demo-tables](./assets/webui/demo-tables.png) +Displays a confirmation dialog, clicking on the `DROP` button drops this schema. + +![delete-schema](./assets/webui/delete-schema.png) ### Table -![demo-columns](./assets/webui/demo-columns.png) +![list-tables](./assets/webui/list-tables.png) + +![list-columns](./assets/webui/list-columns.png) ### Fileset +Click the fileset schema tree node on the left sidebar or the schema name link in the table cell. + +Displays the list fileset of the schema. + +![list-filesets](./assets/webui/list-filesets.png) + +#### Create fileset + +Click on the `CREATE FILESET` button displays the dialog to create a fileset. + +![create-fileset](./assets/webui/create-fileset.png) + +Creating a fileset needs these fields: + +1. **Name**(**_required_**): the name of the fileset. +2. **Type**(**_required_**): `managed`/`external`, the default value is `managed`. +3. **Storage Location**(_optional_): + 1. It is optional if the fileset is 'Managed' type and a storage location is already specified at the parent catalog or schema level. + 2. It becomes mandatory if the fileset type is 'External' or no storage location is defined at the parent level. +4. **Comment**(_optional_): the comment of the fileset. +5. **Properties**(_optional_): Click on the `ADD PROPERTY` button to add custom properties. + +#### Show fileset details + +Click on the action icon in the table cell. + +You can see the detailed information of this fileset in the drawer component on the right. ![fileset-details](./assets/webui/fileset-details.png) +Click the fileset tree node on the left sidebar or the fileset name link in the table cell. + +You can see the detailed information on the right page. + +![fileset-selected-details](./assets/webui/fileset-selected-details.png) + +#### Edit fileset + +Click on the action icon in the table cell. + +Displays the dialog for modifying fields of the selected fileset. + +![update-fileset-dialog](./assets/webui/update-fileset-dialog.png) + +#### Drop fileset + +Click on the action icon in the table cell. + +Displays a confirmation dialog, clicking on the `DROP` button drops this fileset. + +![delete-fileset](./assets/webui/delete-fileset.png) + ### Topic ![topic-details](./assets/webui/topic-details.png) @@ -330,9 +536,9 @@ Displays a confirmation dialog, clicking on the SUBMIT button deletes this catal | -------- | --------------------------------------------------------------------------------- | | Metalake | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ | | Catalog | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ | -| Schema | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ | +| Schema | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ | | Table | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ | -| Fileset | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ | +| Fileset | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ | | Topic | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ | ## E2E test