Skip to content

Commit

Permalink
add user doc for Hudi catalog
Browse files Browse the repository at this point in the history
  • Loading branch information
mchades committed Sep 20, 2024
1 parent f54bfc1 commit 73eb7be
Show file tree
Hide file tree
Showing 21 changed files with 272 additions and 148 deletions.
4 changes: 2 additions & 2 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ something like that, all PRs should have related issues.
6. After PR is merged, please check the related issue:
- If the issue is not closed, please close it as fixed manually.
- Assign the issue "Assignees" to the PR author.
- Starting from 0.6.0, we will use the "labels" to manage the release versions, so please add
the corresponding labels to the issue. For example, if the issue is fixed in 0.6.0, please
- Starting from 0.6.0-incubating, we will use the "labels" to manage the release versions, so please add
the corresponding labels to the issue. For example, if the issue is fixed in 0.6.0-incubating, please
add the label "0.6.0". If the issue is fixed both in 0.6.0 and 0.5.1, please add both labels.

## Policy on backporting bug fixes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@
import org.mockito.Mockito;

@TestInstance(Lifecycle.PER_CLASS)
@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
public class TestEntityKeyEncoding {
private Config getConfig() throws IOException {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
public class TestKvEntityStorage extends TestEntityStorage {
@BeforeEach
@AfterEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@
import org.mockito.Mockito;

@SuppressWarnings("DefaultCharset")
@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
class TestKvGarbageCollector {
public Config getConfig() throws IOException {
Config config = Mockito.mock(Config.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
public class TestKvNameMappingService {
private Config getConfig() throws IOException {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@
import org.rocksdb.RocksDB;
import org.rocksdb.RocksDBException;

@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
public class TestRocksDBKvBackend {

private KvBackend getKvBackEnd() throws IOException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
class TestStorageVersion {

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
public class TestTransactionIdGenerator {

private static final Logger LOGGER = LoggerFactory.getLogger(TestTransactionalKvBackend.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@
import org.slf4j.LoggerFactory;

@SuppressWarnings("DefaultCharset")
@Disabled("Gravitino will not support KV entity store since 0.6.0, so we disable this test.")
@Disabled(
"Gravitino will not support KV entity store since 0.6.0-incubating, so we disable this test.")
class TestTransactionalKvBackend {

private static final Logger LOGGER = LoggerFactory.getLogger(TestTransactionalKvBackend.class);
Expand Down
2 changes: 1 addition & 1 deletion docs/apache-hive-catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ The following table lists the data types mapped from the Hive catalog to Graviti
| `uniontype` | `uniontype` | 0.2.0 |

:::info
Since 0.6.0, the data types other than listed above are mapped to Gravitino **[External Type](./manage-relational-metadata-using-gravitino.md#external-type)** that represents an unresolvable data type from the Hive catalog.
Since 0.6.0-incubating, the data types other than listed above are mapped to Gravitino **[External Type](./manage-relational-metadata-using-gravitino.md#external-type)** that represents an unresolvable data type from the Hive catalog.
:::

### Table properties
Expand Down
66 changes: 33 additions & 33 deletions docs/gravitino-server-config.md

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions docs/hadoop-catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ The Hadoop catalog supports creating, updating, deleting, and listing schema.

### Schema properties

| Property name | Description | Default value | Required | Since Version |
|----------------------------------------------------|----------------------------------------------------------------------------------------------------------------|---------------------------|----------|-----------------|
| `location` | The storage location managed by Hadoop schema. | (none) | No | 0.5.0 |
| `authentication.impersonation-enable` | Whether to enable impersonation for this schema of the Hadoop catalog. | The parent(catalog) value | No | 0.6.0 |
| `authentication.type` | The type of authentication for this schema of Hadoop catalog , currently we only support `kerberos`, `simple`. | The parent(catalog) value | No | 0.6.0 |
| `authentication.kerberos.principal` | The principal of the Kerberos authentication for this schema. | The parent(catalog) value | No | 0.6.0 |
| `authentication.kerberos.keytab-uri` | The URI of The keytab for the Kerberos authentication for this scheam. | The parent(catalog) value | No | 0.6.0 |
| Property name | Description | Default value | Required | Since Version |
|---------------------------------------|----------------------------------------------------------------------------------------------------------------|---------------------------|----------|------------------|
| `location` | The storage location managed by Hadoop schema. | (none) | No | 0.5.0 |
| `authentication.impersonation-enable` | Whether to enable impersonation for this schema of the Hadoop catalog. | The parent(catalog) value | No | 0.6.0-incubating |
| `authentication.type` | The type of authentication for this schema of Hadoop catalog , currently we only support `kerberos`, `simple`. | The parent(catalog) value | No | 0.6.0-incubating |
| `authentication.kerberos.principal` | The principal of the Kerberos authentication for this schema. | The parent(catalog) value | No | 0.6.0-incubating |
| `authentication.kerberos.keytab-uri` | The URI of The keytab for the Kerberos authentication for this scheam. | The parent(catalog) value | No | 0.6.0-incubating |

### Schema operations

Expand Down
6 changes: 3 additions & 3 deletions docs/how-to-use-relational-backend-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ license: "This software is licensed under the Apache License version 2."

## Introduction

Before the version `0.6.0`, Apache Gravitino supports KV and Relational backend storage to store metadata.
Since 0.6.0, Gravitino only supports using RDBMS as relational backend storage to store metadata. This doc will guide you on how to use the
Before the version `0.6.0-incubating`, Apache Gravitino supports KV and Relational backend storage to store metadata.
Since 0.6.0-incubating, Gravitino only supports using RDBMS as relational backend storage to store metadata. This doc will guide you on how to use the
relational backend storage in Gravitino.

Relational backend storage mainly aims to the users who are accustomed to using RDBMS to
Expand Down Expand Up @@ -45,7 +45,7 @@ ${GRAVITINO_HOME}/scripts/mysql/
```

The script name is like `schema-{version}-mysql.sql`, and the `version` depends on your Gravitino version.
For example, if your Gravitino version is `0.6.0`, then you can choose the **latest version** script.
For example, if your Gravitino version is `0.6.0-incubating`, then you can choose the **latest version** script.
If you used a legacy script, you can use `upgrade-{old version}-to-{new version}-mysql.sql` to upgrade the schema.

### Step 2: Initialize the database
Expand Down
18 changes: 9 additions & 9 deletions docs/iceberg-rest-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ For detailed instructions on how to build and install the Gravitino server packa

There are distinct configuration files for standalone and auxiliary server: `gravitino-iceberg-rest-server.conf` is used for the standalone server, while `gravitino.conf` is for the auxiliary server. Although the configuration files differ, the configuration items remain the same.

Starting with version `0.6.0`, the prefix `gravitino.auxService.iceberg-rest.` for auxiliary server configurations has been deprecated. If both `gravitino.auxService.iceberg-rest.key` and `gravitino.iceberg-rest.key` are present, the latter will take precedence. The configurations listed below use the `gravitino.iceberg-rest.` prefix.
Starting with version `0.6.0-incubating`, the prefix `gravitino.auxService.iceberg-rest.` for auxiliary server configurations has been deprecated. If both `gravitino.auxService.iceberg-rest.key` and `gravitino.iceberg-rest.key` are present, the latter will take precedence. The configurations listed below use the `gravitino.iceberg-rest.` prefix.

### Configuration to enable Iceberg REST service in Gravitino server.

Expand Down Expand Up @@ -88,14 +88,14 @@ Gravitino Iceberg REST server supports OAuth2 and HTTPS, please refer to [Securi
For JDBC backend, you can use the `gravitino.iceberg-rest.jdbc.user` and `gravitino.iceberg-rest.jdbc.password` to authenticate the JDBC connection. For Hive backend, you can use the `gravitino.iceberg-rest.authentication.type` to specify the authentication type, and use the `gravitino.iceberg-rest.authentication.kerberos.principal` and `gravitino.iceberg-rest.authentication.kerberos.keytab-uri` to authenticate the Kerberos connection.
The detailed configuration items are as follows:

| Configuration item | Description | Default value | Required | Since Version |
|---------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------|---------------|
| `gravitino.iceberg-rest.authentication.type` | The type of authentication for Iceberg rest catalog backend. This configuration only applicable for for Hive backend, and only supports `Kerberos`, `simple` currently. As for JDBC backend, only username/password authentication was supported now. | `simple` | No | 0.6.0 |
| `gravitino.iceberg-rest.authentication.impersonation-enable` | Whether to enable impersonation for the Iceberg catalog | `false` | No | 0.6.0 |
| `gravitino.iceberg-rest.authentication.kerberos.principal` | The principal of the Kerberos authentication | (none) | required if the value of `gravitino.iceberg-rest.authentication.type` is Kerberos. | 0.6.0 |
| `gravitino.iceberg-rest.authentication.kerberos.keytab-uri` | The URI of The keytab for the Kerberos authentication. | (none) | required if the value of `gravitino.iceberg-rest.authentication.type` is Kerberos. | 0.6.0 |
| `gravitino.iceberg-rest.authentication.kerberos.check-interval-sec` | The check interval of Kerberos credential for Iceberg catalog. | 60 | No | 0.6.0 |
| `gravitino.iceberg-rest.authentication.kerberos.keytab-fetch-timeout-sec` | The fetch timeout of retrieving Kerberos keytab from `authentication.kerberos.keytab-uri`. | 60 | No | 0.6.0 |
| Configuration item | Description | Default value | Required | Since Version |
|---------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------|------------------|
| `gravitino.iceberg-rest.authentication.type` | The type of authentication for Iceberg rest catalog backend. This configuration only applicable for for Hive backend, and only supports `Kerberos`, `simple` currently. As for JDBC backend, only username/password authentication was supported now. | `simple` | No | 0.6.0-incubating |
| `gravitino.iceberg-rest.authentication.impersonation-enable` | Whether to enable impersonation for the Iceberg catalog | `false` | No | 0.6.0-incubating |
| `gravitino.iceberg-rest.authentication.kerberos.principal` | The principal of the Kerberos authentication | (none) | required if the value of `gravitino.iceberg-rest.authentication.type` is Kerberos. | 0.6.0-incubating |
| `gravitino.iceberg-rest.authentication.kerberos.keytab-uri` | The URI of The keytab for the Kerberos authentication. | (none) | required if the value of `gravitino.iceberg-rest.authentication.type` is Kerberos. | 0.6.0-incubating |
| `gravitino.iceberg-rest.authentication.kerberos.check-interval-sec` | The check interval of Kerberos credential for Iceberg catalog. | 60 | No | 0.6.0-incubating |
| `gravitino.iceberg-rest.authentication.kerberos.keytab-fetch-timeout-sec` | The fetch timeout of retrieving Kerberos keytab from `authentication.kerberos.keytab-uri`. | 60 | No | 0.6.0-incubating |


### Storage
Expand Down
Loading

0 comments on commit 73eb7be

Please sign in to comment.