You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by dn...@apache.org on 2026/08/31 12:42:59 UTC

(kyuubi) branch master updated: [KYUUBI #7434][DOC] Reformat client docs from RST to Markdown

This is an automated email from the ASF dual-hosted git repository.

dnskr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 8606354ed7 [KYUUBI #7434][DOC] Reformat client docs from RST to Markdown
8606354ed7 is described below

commit 8606354ed76932c3e7ebd03ffd7558051f8954a3
Author: Denis Krivenko <dn...@gmail.com>
AuthorDate: Mon Aug 31 14:42:49 2026 +0200

    [KYUUBI #7434][DOC] Reformat client docs from RST to Markdown
    
    ### Why are the changes needed?
    The changes are needed to unify the format used for documentation, as described in the issue https://github.com/apache/kyuubi/issues/7434.
    
    The PR also:
    - Removes empty pages:
       - docs/client/advanced/configurations.rst
       - docs/client/advanced/features/engine_resources.rst
       - docs/client/advanced/features/engine_share_level.rst
       - docs/client/advanced/features/engine_ttl.rst
       - docs/client/advanced/features/engine_type.rst
       - docs/client/advanced/features/scala.rst
       - docs/client/advanced/logging.rst
    - Simplifies `Client Commons` menu: remove `features` directory and move `Plan Only Execution Mode` page up.
    - Increases `myst_heading_anchors` to 4 to fix the following warning:
      ```
      ./docs/client/rest/rest_api.md:281: WARNING: 'myst' cross-reference target not found: 'kyuubioperationevent' [myst.xref_missing]
      ```
    - Rename  `Configure Kerberos for clients to Access Kerberized Kyuubi` to `Kerberos Configuration` and remove the page from `Security / Authentication ` index page.
    - Fixed cross-references.
    
    The PR **does not** change page contents to ensure an easier review of the migration.
    
    ### How was this patch tested?
    Tested by building the documentation and comparing the pages against the live site.
    
    ### Was this patch assisted by generative AI tooling?
    Assisted-by: Qwen Coder
    
    Closes #7696 from dnskr/rst-to-md-client-pages.
    
    Closes #7434
    
    1a4745c78 [Denis Krivenko] [DOC] Reformat quick start docs from RST to Markdown
    575b2aa2c [Denis Krivenko] [DOC] Reformat client docs from RST to Markdown
    
    Authored-by: Denis Krivenko <dn...@gmail.com>
    Signed-off-by: Denis Krivenko <dn...@gmail.com>
---
 docs/client/advanced/configurations.rst            |  17 --
 docs/client/advanced/features/engine_resources.rst |  18 --
 .../advanced/features/engine_share_level.rst       |  18 --
 docs/client/advanced/features/engine_ttl.rst       |  18 --
 docs/client/advanced/features/engine_type.rst      |  18 --
 docs/client/advanced/features/index.rst            |  27 ---
 docs/client/advanced/features/scala.rst            |  18 --
 docs/client/advanced/index.md                      |  26 +++
 docs/client/advanced/index.rst                     |  25 ---
 docs/client/advanced/kerberos.md                   |   2 +-
 docs/client/advanced/logging.rst                   |  17 --
 docs/client/advanced/{features => }/plan_only.md   |   5 +-
 docs/client/bi_tools/dbeaver.md                    | 117 ++++++++++
 docs/client/bi_tools/dbeaver.rst                   | 125 -----------
 docs/client/bi_tools/index.md                      |  36 +++
 docs/client/bi_tools/index.rst                     |  32 ---
 docs/client/bi_tools/powerbi.md                    |  24 ++
 docs/client/bi_tools/powerbi.rst                   |  21 --
 docs/client/bi_tools/superset.md                   |  24 ++
 docs/client/bi_tools/superset.rst                  |  21 --
 docs/client/bi_tools/tableau.md                    |  24 ++
 docs/client/bi_tools/tableau.rst                   |  21 --
 docs/client/cli/hive_beeline.md                    |  36 +++
 docs/client/cli/hive_beeline.rst                   |  31 ---
 docs/client/cli/index.md                           |  27 +++
 docs/client/cli/index.rst                          |  24 --
 docs/client/index.md                               |  41 ++++
 docs/client/index.rst                              |  37 ----
 docs/client/jdbc/hive_jdbc.md                      |   2 +-
 docs/client/jdbc/index.md                          |  27 +++
 docs/client/jdbc/index.rst                         |  25 ---
 docs/client/jdbc/kyuubi_jdbc.md                    | 227 +++++++++++++++++++
 docs/client/jdbc/kyuubi_jdbc.rst                   | 245 ---------------------
 docs/client/python/index.md                        |  26 +++
 docs/client/python/index.rst                       |  24 --
 docs/client/rest/index.md                          |  25 +++
 docs/client/rest/index.rst                         |  24 --
 docs/client/ui/index.md                            |  26 +++
 docs/client/ui/index.rst                           |  25 ---
 docs/conf.py                                       |   2 +-
 docs/security/authentication.md                    |   1 -
 41 files changed, 692 insertions(+), 837 deletions(-)

diff --git a/docs/client/advanced/configurations.rst b/docs/client/advanced/configurations.rst
deleted file mode 100644
index fd9f20a99a..0000000000
--- a/docs/client/advanced/configurations.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Client Configuration Guide
-==========================
diff --git a/docs/client/advanced/features/engine_resources.rst b/docs/client/advanced/features/engine_resources.rst
deleted file mode 100644
index 538c9ec8b1..0000000000
--- a/docs/client/advanced/features/engine_resources.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Configuring Resources for Kyuubi Engines
-========================================
-
diff --git a/docs/client/advanced/features/engine_share_level.rst b/docs/client/advanced/features/engine_share_level.rst
deleted file mode 100644
index 9dd484b7f1..0000000000
--- a/docs/client/advanced/features/engine_share_level.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Sharing and Isolation for Kyuubi Engines
-========================================
-
diff --git a/docs/client/advanced/features/engine_ttl.rst b/docs/client/advanced/features/engine_ttl.rst
deleted file mode 100644
index 0ba77519ee..0000000000
--- a/docs/client/advanced/features/engine_ttl.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Setting Time to Live for Kyuubi Engines
-=======================================
-
diff --git a/docs/client/advanced/features/engine_type.rst b/docs/client/advanced/features/engine_type.rst
deleted file mode 100644
index 1687678b4c..0000000000
--- a/docs/client/advanced/features/engine_type.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Using Different Kyuubi Engines
-==============================
-
diff --git a/docs/client/advanced/features/index.rst b/docs/client/advanced/features/index.rst
deleted file mode 100644
index 7c81725b00..0000000000
--- a/docs/client/advanced/features/index.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Advanced Features
-=================
-
-.. toctree::
-    :maxdepth: 2
-
-    engine_type
-    engine_share_level
-    engine_ttl
-    engine_resources
-    scala
-    plan_only
diff --git a/docs/client/advanced/features/scala.rst b/docs/client/advanced/features/scala.rst
deleted file mode 100644
index 64877c7cbe..0000000000
--- a/docs/client/advanced/features/scala.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Running Scala Snippets
-======================
-
diff --git a/docs/client/advanced/index.md b/docs/client/advanced/index.md
new file mode 100644
index 0000000000..0fd824ddd7
--- /dev/null
+++ b/docs/client/advanced/index.md
@@ -0,0 +1,26 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Client Commons
+
+```{toctree}
+:maxdepth: 2
+
+kerberos
+plan_only
+```
+
diff --git a/docs/client/advanced/index.rst b/docs/client/advanced/index.rst
deleted file mode 100644
index a20fc6b197..0000000000
--- a/docs/client/advanced/index.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Client Commons
-==============
-
-.. toctree::
-    :maxdepth: 2
-
-    configurations
-    logging
-    kerberos
-    features/index
diff --git a/docs/client/advanced/kerberos.md b/docs/client/advanced/kerberos.md
index b5dc65b36a..7780b704fd 100644
--- a/docs/client/advanced/kerberos.md
+++ b/docs/client/advanced/kerberos.md
@@ -15,7 +15,7 @@
 - limitations under the License.
 -->
 
-# Configure Kerberos for clients to Access Kerberized Kyuubi
+# Kerberos Configuration
 
 ## Instructions
 
diff --git a/docs/client/advanced/logging.rst b/docs/client/advanced/logging.rst
deleted file mode 100644
index ab0013aaa3..0000000000
--- a/docs/client/advanced/logging.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Logging
-=======
diff --git a/docs/client/advanced/features/plan_only.md b/docs/client/advanced/plan_only.md
similarity index 83%
rename from docs/client/advanced/features/plan_only.md
rename to docs/client/advanced/plan_only.md
index 4d1d1737a6..898a745dfc 100644
--- a/docs/client/advanced/features/plan_only.md
+++ b/docs/client/advanced/plan_only.md
@@ -19,7 +19,8 @@
 
 Plan only execution mode currently only supports spark and flink engine.
 
-Configure the kyuubi.operation.plan.only.mode parameter, the value can be 'parse', 'analyze', 'optimize', 'optimize_with_stats', 'physical', 'execution', or 'none', when it is 'none', indicate to the statement will be fully executed, otherwise only way without executing the query. Different engines currently support different modes, the spark engine supports all modes, and the flink engine supports 'parse', 'physical', and 'execution', other engines do not support plan-only mode currentl [...]
+Configure the `kyuubi.operation.plan.only.mode` parameter, the value can be `parse`, `analyze`, `optimize`, `optimize_with_stats`, `physical`, `execution`, or `none`, when it is `none`, indicate to the statement will be fully executed, otherwise only way without executing the query.
+Different engines currently support different modes, the spark engine supports all modes, and the flink engine supports `parse`, `physical`, and `execution`, other engines do not support plan-only mode currently, and support application-level and session-level parameter settings, which are used in the following ways.
 
 ## Application-level parameter setting
 
@@ -30,7 +31,7 @@ JDBC URLs have the following format:
 jdbc:kyuubi://<host>:<port>/<dbName>;<sessionVars>?kyuubi.operation.plan.only.mode=parse/analyze/optimize/optimize_with_stats/physical/execution/none;<kyuubiConfs>#<[spark|hive]Vars>
 ```
 
-Refer to [hive_jdbc doc](../../jdbc/hive_jdbc.md) for details of others parameters
+Refer to [hive_jdbc doc](../jdbc/hive_jdbc.md) for details of others parameters
 
 ### Example:
 
diff --git a/docs/client/bi_tools/dbeaver.md b/docs/client/bi_tools/dbeaver.md
new file mode 100644
index 0000000000..85a296e354
--- /dev/null
+++ b/docs/client/bi_tools/dbeaver.md
@@ -0,0 +1,117 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# DBeaver
+
+## What is DBeaver
+
+![DBeaver](https://raw.githubusercontent.com/wiki/dbeaver/dbeaver/images/dbeaver-icon-64x64.png)
+
+[DBeaver](https://dbeaver.io/) is a free multi-platform database tool for developers, database administrators, analysts, and all people who need to work with databases.
+Supports all popular databases as well as kyuubi JDBC.
+
+:::{seealso}
+[DBeaver Wiki](https://github.com/dbeaver/dbeaver/wiki)
+:::
+
+## Installation
+
+Please go to [Download DBeaver](https://dbeaver.io/download/) page to get and install an appropriate release version for yourself.
+
+```{versionadded} 22.1.0(dbeaver)
+DBeaver officially supports apache kyuubi JDBC driver since 06 Jun 2022 via [PR 16567](https://github.com/dbeaver/dbeaver/issues/16567).
+```
+
+## Using DBeaver with Kyuubi
+
+If you have successfully installed dbeaver, just hit the button to launch it.
+
+### New Connection
+
+Firstly, we need to create a database connection against a live kyuubi server.
+You are able to find the kyuubi jdbc driver since dbeaver 22.1.0, as shown in the following figure.
+
+![New Database Connection](../../imgs/dbeaver/new_database_connection.png)
+
+```{note}
+We can also choose Apache Hive or Apache Spark to set up a driver for Kyuubi, because they are compatible with the same client.
+```
+
+### Configure Connection
+
+Secondly, we configure the JDBC connection settings to format an underlying kyuubi JDBC connection URL string.
+
+#### Basic Connection Settings
+
+The basic connection setting contains a minimal set of items you need to talk with kyuubi server,
+
+- Host - hostname or IP address that the kyuubi server bound with, default: `localhost`.
+- Port - port that the kyuubi server listening to, default: `10009`.
+- Database/Schema - database or schema to use, default: `default`.
+- Authentication - identity information, such as user/password, based on the server authentication mechanism.
+
+#### Session Configurations
+
+Session configuration list is an optional part of kyuubi JDBC URLs, which are very helpful to override some configurations of the kyuubi server at session scope.
+The setup page of dbeaver does not contain any text box for such behavior.
+However, we can append the semicolon-separated configuration pairs to the Database/Schema filed leading with a number sign(#).
+Though it's a bit weird, but it works.
+
+![Configure Database Connection](../../imgs/dbeaver/configure_database_connection.png)
+
+As an example, shown in the picture above, the engine uses 2 gigabytes memory for the driver process of kyuubi engine and will be terminated after idle for 30 seconds.
+
+#### Connecting in HA mode
+
+Kyuubi supports HA by service discovery over Apache Zookeeper cluster.
+
+![Configure Database Connection HA](../../imgs/dbeaver/configure_database_connection_ha.png)
+
+As an example, shown in the above picture, the Host and Port fields can be used to concat the comma separated zookeeper peers,
+while the `serviceDiscoveryMode` and `zooKeeperNamespace` are appended to the Database/Schema field.
+
+### Test Connection
+
+It is not necessary but recommended to click `Test Connection` to verify the connection is set correctly.
+If something wrong happens at the client side or server side, we can debug ahead with the error message.
+
+### SQL Operations
+
+Now, we can use the SQL editor to write queries to interact with Kyuubi server through the connection.
+
+```sql
+DESC NAMESPACE DEFAULT;
+```
+
+```sql
+CREATE TABLE spark_catalog.`default`.SRC(KEY INT, VALUE STRING) USING PARQUET;
+INSERT INTO TABLE spark_catalog.`default`.SRC VALUES (11215016, 'Kent Yao');
+```
+
+```sql
+SELECT KEY % 10 AS ID, SUBSTRING(VALUE, 1, 4) AS NAME FROM spark_catalog.`default`.SRC;
+```
+
+![Metadata](../../imgs/dbeaver/metadata.png)
+
+```sql
+DROP TABLE spark_catalog.`default`.SRC;
+```
+
+## Client Authentication
+
+For kerberized kyuubi clusters, please refer to [Kerberos Authentication](../advanced/kerberos.md#bi-tools) for more information.
diff --git a/docs/client/bi_tools/dbeaver.rst b/docs/client/bi_tools/dbeaver.rst
deleted file mode 100644
index 006498544b..0000000000
--- a/docs/client/bi_tools/dbeaver.rst
+++ /dev/null
@@ -1,125 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-DBeaver
-=======
-
-What is DBeaver
----------------
-
-.. image:: https://raw.githubusercontent.com/wiki/dbeaver/dbeaver/images/dbeaver-icon-64x64.png
-
-`DBeaver`_ is a free multi-platform database tool for developers, database administrators, analysts, and all people who need to work with databases.
-Supports all popular databases as well as kyuubi JDBC.
-
-.. seealso:: `DBeaver Wiki`
-
-Installation
-------------
-Please go to `Download DBeaver`_ page to get and install an appropriate release version for yourself.
-
-.. versionadded:: 22.1.0(dbeaver)
-   DBeaver officially supports apache kyuubi JDBC driver since 06 Jun 2022 via `PR 16567 <https://github.com/dbeaver/dbeaver/issues/16567>`_.
-
-Using DBeaver with Kyuubi
--------------------------
-If you have successfully installed dbeaver, just hit the button to launch it.
-
-New Connection
-**************
-
-Firstly, we need to create a database connection against a live kyuubi server.
-You are able to find the kyuubi jdbc driver since dbeaver 22.1.0, as shown in the following figure.
-
-.. image:: ../../imgs/dbeaver/new_database_connection.png
-
-.. note::
-   We can also choose Apache Hive or Apache Spark to set up a driver for Kyuubi, because they are compatible with the same client.
-
-Configure Connection
-********************
-
-Secondly, we configure the JDBC connection settings to format an underlying kyuubi JDBC connection URL string.
-
-Basic Connection Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The basic connection setting contains a minimal set of items you need to talk with kyuubi server,
-
-- Host - hostname or IP address that the kyuubi server bound with, default: `localhost`.
-- Port - port that the kyuubi server listening to, default: `10009`.
-- Database/Schema - database or schema to use, default: `default`.
-- Authentication - identity information, such as user/password, based on the server authentication mechanism.
-
-Session Configurations
-^^^^^^^^^^^^^^^^^^^^^^
-
-Session configuration list is an optional part of kyuubi JDBC URLs, which are very helpful to override some configurations of the kyuubi server at session scope.
-The setup page of dbeaver does not contain any text box for such behavior.
-However, we can append the semicolon-separated configuration pairs to the Database/Schema filed leading with a number sign(#).
-Though it's a bit weird, but it works.
-
-.. image:: ../../imgs/dbeaver/configure_database_connection.png
-
-As an example, shown in the picture above, the engine uses 2 gigabytes memory for the driver process of kyuubi engine and will be terminated after idle for 30 seconds.
-
-Connecting in HA mode
-^^^^^^^^^^^^^^^^^^^^^
-
-Kyuubi supports HA by service discovery over Apache Zookeeper cluster.
-
-.. image:: ../../imgs/dbeaver/configure_database_connection_ha.png
-
-As an example, shown in the above picture, the Host and Port fields can be used to concat the comma separated zookeeper peers,
-while the `serviceDiscoveryMode` and `zooKeeperNamespace` are appended to the Database/Schema field.
-
-Test Connection
-***************
-
-It is not necessary but recommended to click `Test Connection` to verify the connection is set correctly.
-If something wrong happens at the client side or server side, we can debug ahead with the error message.
-
-SQL Operations
-**************
-
-Now, we can use the SQL editor to write queries to interact with Kyuubi server through the connection.
-
-.. code-block:: sql
-
-   DESC NAMESPACE DEFAULT;
-
-.. code-block:: sql
-
-   CREATE TABLE spark_catalog.`default`.SRC(KEY INT, VALUE STRING) USING PARQUET;
-   INSERT INTO TABLE spark_catalog.`default`.SRC VALUES (11215016, 'Kent Yao');
-
-.. code-block:: sql
-
-   SELECT KEY % 10 AS ID, SUBSTRING(VALUE, 1, 4) AS NAME FROM spark_catalog.`default`.SRC;
-
-.. image:: ../../imgs/dbeaver/metadata.png
-
-.. code-block:: sql
-
-   DROP TABLE spark_catalog.`default`.SRC;
-
-Client Authentication
----------------------
-For kerberized kyuubi clusters, please refer to `Kerberos Authentication`_ for more information.
-
-.. _DBeaver: https://dbeaver.io/
-.. _DBeaver Wiki: https://github.com/dbeaver/dbeaver/wiki
-.. _Download DBeaver: https://dbeaver.io/download/
-.. _Kerberos Authentication: ../advanced/kerberized_kyuubi.html#bi-tools
diff --git a/docs/client/bi_tools/index.md b/docs/client/bi_tools/index.md
new file mode 100644
index 0000000000..acc0da75d1
--- /dev/null
+++ b/docs/client/bi_tools/index.md
@@ -0,0 +1,36 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Business Intelligence Tools and SQL IDEs
+
+Kyuubi provides a standard JDBC/ODBC interface over thrift that allows various existing BI tools, SQL clients/IDEs to connect with.
+
+```{note}
+Is your favorite tool missing? [Report an feature request](https://kyuubi.apache.org/issue_tracking.html) or help us document it.
+```
+
+```{toctree}
+:maxdepth: 1
+
+superset
+hue
+datagrip
+dbeaver
+powerbi
+tableau
+```
+
diff --git a/docs/client/bi_tools/index.rst b/docs/client/bi_tools/index.rst
deleted file mode 100644
index b11076afb9..0000000000
--- a/docs/client/bi_tools/index.rst
+++ /dev/null
@@ -1,32 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Business Intelligence Tools and SQL IDEs
-========================================
-
-Kyuubi provides a standard JDBC/ODBC interface over thrift that allows various existing BI tools, SQL clients/IDEs to connect with.
-
-.. note:: Is your favorite tool missing?
-   `Report an feature request <https://kyuubi.apache.org/issue_tracking.html>`_ or help us document it.
-
-.. toctree::
-    :maxdepth: 1
-
-    superset
-    hue
-    datagrip
-    dbeaver
-    powerbi
-    tableau
diff --git a/docs/client/bi_tools/powerbi.md b/docs/client/bi_tools/powerbi.md
new file mode 100644
index 0000000000..9e19a93a7a
--- /dev/null
+++ b/docs/client/bi_tools/powerbi.md
@@ -0,0 +1,24 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# PowerBI
+
+```{warning}
+The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
+```
+
+See [PowerBI](https://powerbi.microsoft.com/en-us/)
diff --git a/docs/client/bi_tools/powerbi.rst b/docs/client/bi_tools/powerbi.rst
deleted file mode 100644
index 2da6747847..0000000000
--- a/docs/client/bi_tools/powerbi.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-`PowerBI`_
-==========
-
-.. warning:: The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
-
-.. _PowerBI: https://powerbi.microsoft.com/en-us/
\ No newline at end of file
diff --git a/docs/client/bi_tools/superset.md b/docs/client/bi_tools/superset.md
new file mode 100644
index 0000000000..8df2eff7df
--- /dev/null
+++ b/docs/client/bi_tools/superset.md
@@ -0,0 +1,24 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Apache Superset
+
+```{warning}
+The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
+```
+
+See [Apache Superset](https://superset.apache.org/)
diff --git a/docs/client/bi_tools/superset.rst b/docs/client/bi_tools/superset.rst
deleted file mode 100644
index 52afdd9a6e..0000000000
--- a/docs/client/bi_tools/superset.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-`Apache Superset`_
-==================
-
-.. warning:: The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
-
-.. _Apache Superset: https://superset.apache.org/
\ No newline at end of file
diff --git a/docs/client/bi_tools/tableau.md b/docs/client/bi_tools/tableau.md
new file mode 100644
index 0000000000..6996b4ff65
--- /dev/null
+++ b/docs/client/bi_tools/tableau.md
@@ -0,0 +1,24 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Tableau
+
+```{warning}
+The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
+```
+
+See [Tableau](https://www.tableau.com/)
diff --git a/docs/client/bi_tools/tableau.rst b/docs/client/bi_tools/tableau.rst
deleted file mode 100644
index ef6e6aabfa..0000000000
--- a/docs/client/bi_tools/tableau.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-`Tableau`_
-==========
-
-.. warning:: The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
-
-.. _Tableau: https://www.tableau.com/
\ No newline at end of file
diff --git a/docs/client/cli/hive_beeline.md b/docs/client/cli/hive_beeline.md
new file mode 100644
index 0000000000..e7331aa34f
--- /dev/null
+++ b/docs/client/cli/hive_beeline.md
@@ -0,0 +1,36 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Hive Beeline
+
+Kyuubi supports Apache Hive beeline that works with Kyuubi server.
+Hive beeline is a [SQLLine CLI](https://sqlline.sourceforge.net/) based on the [Hive JDBC Driver](../jdbc/hive_jdbc.md).
+
+## Prerequisites
+
+- Kyuubi server installed and launched.
+- Hive beeline installed
+
+```{important}
+Kyuubi does not support embedded mode which beeline and server run in the same process.
+It always uses remote mode for connecting beeline with a separate server process over thrift.
+```
+
+```{warning}
+The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
+```
+
diff --git a/docs/client/cli/hive_beeline.rst b/docs/client/cli/hive_beeline.rst
deleted file mode 100644
index f75e00819f..0000000000
--- a/docs/client/cli/hive_beeline.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Hive Beeline
-============
-
-Kyuubi supports Apache Hive beeline that works with Kyuubi server.
-Hive beeline is a `SQLLine CLI <https://sqlline.sourceforge.net/>`_ based on the `Hive JDBC Driver <../jdbc/hive_jdbc.html>`_.
-
-Prerequisites
--------------
-
-- Kyuubi server installed and launched.
-- Hive beeline installed
-
-.. important:: Kyuubi does not support embedded mode which beeline and server run in the same process.
-   It always uses remote mode for connecting beeline with a separate server process over thrift.
-
-.. warning:: The document you are visiting now is incomplete, please help kyuubi community to fix it if appropriate for you.
diff --git a/docs/client/cli/index.md b/docs/client/cli/index.md
new file mode 100644
index 0000000000..f2b198a17b
--- /dev/null
+++ b/docs/client/cli/index.md
@@ -0,0 +1,27 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Command Line Interface(CLI)s
+
+```{toctree}
+:maxdepth: 2
+
+kyuubi_beeline
+hive_beeline
+trino_cli
+```
+
diff --git a/docs/client/cli/index.rst b/docs/client/cli/index.rst
deleted file mode 100644
index 19122ced4a..0000000000
--- a/docs/client/cli/index.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Command Line Interface(CLI)s
-============================
-
-.. toctree::
-    :maxdepth: 2
-
-    kyuubi_beeline
-    hive_beeline
-    trino_cli
diff --git a/docs/client/index.md b/docs/client/index.md
new file mode 100644
index 0000000000..7f11c590e0
--- /dev/null
+++ b/docs/client/index.md
@@ -0,0 +1,41 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Clients
+
+This section aims to document the APIs, clients and tools for end-users who are not necessary to care about deployment at the kyuubi server side.
+
+Kyuubi provides standards-based drivers for JDBC, and ODBC enabling developers to build database applications in their language of choice.
+
+In addition, APIs like REST, Thrift, etc., allow developers to access kyuubi directly and flexibly.
+
+```{note}
+When you try some of the examples in this section, make sure you have a available server.
+```
+
+```{toctree}
+:maxdepth: 2
+
+jdbc/index
+cli/index
+bi_tools/index
+rest/index
+ui/index
+python/index
+advanced/index
+```
+
diff --git a/docs/client/index.rst b/docs/client/index.rst
deleted file mode 100644
index 3004f530b9..0000000000
--- a/docs/client/index.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Clients
-=======
-
-This section aims to document the APIs, clients and tools for end-users who are not necessary to care about deployment at the kyuubi server side.
-
-Kyuubi provides standards-based drivers for JDBC, and ODBC enabling developers to build database applications in their language of choice.
-
-In addition, APIs like REST, Thrift, etc., allow developers to access kyuubi directly and flexibly.
-
-.. note::
-   When you try some of the examples in this section, make sure you have a available server.
-
-.. toctree::
-    :maxdepth: 2
-
-    jdbc/index
-    cli/index
-    bi_tools/index
-    rest/index
-    ui/index
-    python/index
-    advanced/index
diff --git a/docs/client/jdbc/hive_jdbc.md b/docs/client/jdbc/hive_jdbc.md
index 7bfbf08c0a..84a88f8697 100644
--- a/docs/client/jdbc/hive_jdbc.md
+++ b/docs/client/jdbc/hive_jdbc.md
@@ -22,7 +22,7 @@
 Kyuubi is fully compatible with Hive JDBC and ODBC drivers that let you connect to popular Business Intelligence (BI)
 tools to query, analyze and visualize data though Spark SQL engines.
 
-It's recommended to use [Kyuubi JDBC driver](./kyuubi_jdbc.rst) for new applications.
+It's recommended to use [Kyuubi JDBC driver](./kyuubi_jdbc.md) for new applications.
 
 ## Install Hive JDBC
 
diff --git a/docs/client/jdbc/index.md b/docs/client/jdbc/index.md
new file mode 100644
index 0000000000..2c94e44e36
--- /dev/null
+++ b/docs/client/jdbc/index.md
@@ -0,0 +1,27 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# JDBC Drivers
+
+```{toctree}
+:maxdepth: 1
+
+kyuubi_jdbc
+hive_jdbc
+trino_jdbc
+```
+
diff --git a/docs/client/jdbc/index.rst b/docs/client/jdbc/index.rst
deleted file mode 100644
index 80fc0e052a..0000000000
--- a/docs/client/jdbc/index.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-JDBC Drivers
-============
-
-.. toctree::
-    :maxdepth: 1
-
-    kyuubi_jdbc
-    hive_jdbc
-    trino_jdbc
-
diff --git a/docs/client/jdbc/kyuubi_jdbc.md b/docs/client/jdbc/kyuubi_jdbc.md
new file mode 100644
index 0000000000..5bfa68f328
--- /dev/null
+++ b/docs/client/jdbc/kyuubi_jdbc.md
@@ -0,0 +1,227 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Kyuubi Hive JDBC Driver
+
+```{versionadded} 1.4.0
+Kyuubi community maintains a forked Hive JDBC driver module and provides both shaded and non-shaded packages.
+```
+
+This packages aims to support some missing functionalities of the original Hive JDBC driver.
+For Kyuubi engines that support multiple catalogs, it provides meta APIs for better support.
+The behaviors of the original Hive JDBC driver have remained.
+
+To access a Hive data warehouse or new Lakehouse formats, such as Apache Iceberg/Hudi, Delta Lake using the Kyuubi JDBC driver
+for Apache kyuubi, you need to configure the following:
+
+- The list of driver library files - [Referencing the JDBC Driver Libraries](#referencing-libraries)
+- The Driver or DataSource class - [Registering the Driver Class](#registering-class)
+- The connection URL for the driver - [Building the Connection URL](#building-url)
+
+(referencing-libraries)=
+
+## Referencing the JDBC Driver Libraries
+
+Before you use the jdbc driver for Apache Kyuubi, the JDBC application or Java code that
+you are using to connect to your data must be able to access the driver JAR files.
+
+### Using the Driver in Java Code
+
+In the code, specify the artifact `kyuubi-hive-jdbc-shaded` from [Maven Central](https://mvnrepository.com/artifact/org.apache.kyuubi/kyuubi-hive-jdbc-shaded) according to the build tool you use.
+
+#### Maven
+
+```xml
+<dependency>
+    <groupId>org.apache.kyuubi</groupId>
+    <artifactId>kyuubi-hive-jdbc-shaded</artifactId>
+    <version>${kyuubi.version}</version> 
+</dependency>
+```
+
+#### sbt
+
+```{parsed-literal}
+libraryDependencies += "org.apache.kyuubi" % "kyuubi-hive-jdbc-shaded" % "{{ release }}"
+```
+
+#### Gradle
+
+```{parsed-literal}
+implementation group: 'org.apache.kyuubi', name: 'kyuubi-hive-jdbc-shaded', version: '{{ release }}'
+```
+
+### Using the Driver in a JDBC Application
+
+For [JDBC Applications](../bi_tools/index.md), such as BI tools, SQL IDEs, please check the specific guide for detailed information.
+
+```{note}
+Is your favorite tool missing? [Report an feature request](https://kyuubi.apache.org/issue_tracking.html) or help us document it.
+```
+
+(registering-class)=
+
+## Registering the Driver Class
+
+Before connecting to your data, you must register the JDBC Driver class for your application.
+
+- org.apache.kyuubi.jdbc.KyuubiHiveDriver
+- org.apache.kyuubi.jdbc.KyuubiDriver (Deprecated)
+
+The following sample code shows how to use the [`java.sql.DriverManager`](https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html) class to establish a connection for JDBC:
+
+```java
+private static Connection newKyuubiConnection() throws Exception {
+  Connection connection = DriverManager.getConnection(CONNECTION_URL);
+  return connection;
+}
+```
+
+(building-url)=
+
+## Building the Connection URL
+
+### Basic Connection URL Format
+
+Use the connection URL to supply connection information to the kyuubi server or cluster that you are accessing.
+The following is the format of the connection URL for the Kyuubi Hive JDBC Driver
+
+```text
+jdbc:subprotocol://host:port[/catalog]/[schema];<clientProperties;><[#|?]sessionProperties>
+```
+
+- subprotocol: kyuubi or hive2
+- host: DNS or IP address of the kyuubi server
+- port: The number of the TCP port that the server uses to listen for client requests
+- catalog: Optional catalog name to set the current catalog to run the query against.
+- schema: Optional database name to set the current database to run the query against, use `default` if absent.
+- clientProperties: Optional semicolon separated `key=value` parameters identified and affect the client behavior locally. e.g., user=foo;password=bar.
+- sessionProperties: Optional semicolon separated `key=value` parameters used to configure the session, operation or background engines.
+  For instance, `kyuubi.engine.share.level=CONNECTION` determines the background engine instance is used only by the current connection. `spark.ui.enabled=false` disables the Spark UI of the engine.
+
+```{important}
+- The sessionProperties MUST come after a leading number sign(#) or question mark (?).
+- Properties are case-sensitive
+- Do not duplicate properties in the connection URL
+```
+
+### Connection URL over HTTP
+
+```{versionadded} 1.6.0
+```
+
+```text
+jdbc:subprotocol://host:port/schema;transportMode=http;httpPath=<http_endpoint>
+```
+
+- http_endpoint is the corresponding HTTP endpoint configured by `kyuubi.frontend.thrift.http.path` at the server side.
+
+### Connection URL over Service Discovery
+
+```text
+jdbc:subprotocol://<zookeeper quorum>/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi
+```
+
+- zookeeper quorum is the corresponding zookeeper cluster configured by `kyuubi.ha.addresses` at the server side.
+- zooKeeperNamespace is the corresponding namespace configured by `kyuubi.ha.namespace` at the server side.
+
+### HiveServer2 Compatibility
+
+```{versionadded} 1.8.0
+```
+
+JDBC Drivers need to negotiate a protocol version with Kyuubi Server/HiveServer2 when connecting.
+
+Kyuubi Hive JDBC Driver offers protocol version v10 (`clientProtocolVersion=9`, supported since Hive 2.3.0) to server by default.
+
+If you need to connect to HiveServer2 before 2.3.0, please set client property `clientProtocolVersion` to a lower number.
+
+```text
+jdbc:subprotocol://host:port[/catalog]/[schema];clientProtocolVersion=9;
+```
+
+```{tip}
+All supported protocol versions and corresponding Hive versions can be found in [`TProtocolVersion.java`](https://github.com/apache/hive/blob/master/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java) and its git commits.
+```
+
+## Kerberos Authentication
+
+Since 1.6.0, Kyuubi JDBC driver implements the Kerberos authentication based on
+JAAS framework instead of [Hadoop UserGroupInformation](https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/security/UserGroupInformation.html), which means it does not forcibly rely on Hadoop dependencies to connect a kerberized Kyuubi Server.
+
+Kyuubi JDBC driver supports different approaches to connect a kerberized Kyuubi Server.
+First of all, please follow the [krb5.conf instruction](https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html) to setup `krb5.conf` properly.
+
+### Authentication by Principal and Keytab
+
+```{versionadded} 1.6.0
+```
+
+```{tip}
+It's the simplest way w/ minimal setup requirements for Kerberos authentication.
+```
+
+It's straightforward to use principal and keytab for Kerberos authentication,
+just simply configure them in the JDBC URL.
+
+```text
+jdbc:kyuubi://host:port/schema;kyuubiClientPrincipal=<clientPrincipal>;kyuubiClientKeytab=<clientKeytab>;kyuubiServerPrincipal=<serverPrincipal>
+```
+
+- kyuubiClientPrincipal: Kerberos `principal` for client authentication
+- kyuubiClientKeytab: path of Kerberos `keytab` file for client authentication
+- kyuubiClientTicketCache: path of Kerberos `ticketCache` file for client authentication, available since 1.8.0.
+- kyuubiServerPrincipal: Kerberos `principal` configured by `kyuubi.kinit.principal` at the server side. `kyuubiServerPrincipal` is available as an alias of `principal` since 1.7.0, use `principal` for previous versions.
+
+### Authentication by Principal and TGT Cache
+
+Another typical usage of Kerberos authentication is using `kinit` to generate the
+TGT cache first, then the application does Kerberos authentication through the
+TGT cache.
+
+```text
+jdbc:kyuubi://host:port/schema;kyuubiServerPrincipal=<serverPrincipal>
+```
+
+### Authentication by [Hadoop UserGroupInformation](https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/security/UserGroupInformation.html) `doAs` (programing only)
+
+```{tip}
+This approach allows project which already uses [Hadoop UserGroupInformation](https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/security/UserGroupInformation.html)
+for Kerberos authentication to easily connect the kerberized Kyuubi Server.
+This approach does not work between [1.6.0, 1.7.0], and got fixed in 1.7.1.
+```
+
+```text
+String jdbcUrl = "jdbc:kyuubi://host:port/schema;kyuubiServerPrincipal=<serverPrincipal>"
+UserGroupInformation ugi = UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab);
+ugi.doAs((PrivilegedExceptionAction<String>) () -> {
+  Connection conn = DriverManager.getConnection(jdbcUrl);
+  ...
+});
+```
+
+### Authentication by Subject (programing only)
+
+```java
+String jdbcUrl = "jdbc:kyuubi://host:port/schema;kyuubiServerPrincipal=<serverPrincipal>;kerberosAuthType=fromSubject"
+Subject kerberizedSubject = ...;
+Subject.doAs(kerberizedSubject, (PrivilegedExceptionAction<String>) () -> {
+  Connection conn = DriverManager.getConnection(jdbcUrl);
+  ...
+});
+```
+
diff --git a/docs/client/jdbc/kyuubi_jdbc.rst b/docs/client/jdbc/kyuubi_jdbc.rst
deleted file mode 100644
index 6a66e3c012..0000000000
--- a/docs/client/jdbc/kyuubi_jdbc.rst
+++ /dev/null
@@ -1,245 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-Kyuubi Hive JDBC Driver
-=======================
-
-.. versionadded:: 1.4.0
-   Kyuubi community maintains a forked Hive JDBC driver module and provides both shaded and non-shaded packages.
-
-This packages aims to support some missing functionalities of the original Hive JDBC driver.
-For Kyuubi engines that support multiple catalogs, it provides meta APIs for better support.
-The behaviors of the original Hive JDBC driver have remained.
-
-To access a Hive data warehouse or new Lakehouse formats, such as Apache Iceberg/Hudi, Delta Lake using the Kyuubi JDBC driver
-for Apache kyuubi, you need to configure the following:
-
-- The list of driver library files - :ref:`referencing-libraries`.
-- The Driver or DataSource class - :ref:`registering_class`.
-- The connection URL for the driver - :ref:`building_url`
-
-.. _referencing-libraries:
-
-Referencing the JDBC Driver Libraries
--------------------------------------
-
-Before you use the jdbc driver for Apache Kyuubi, the JDBC application or Java code that
-you are using to connect to your data must be able to access the driver JAR files.
-
-Using the Driver in Java Code
-*****************************
-
-In the code, specify the artifact `kyuubi-hive-jdbc-shaded` from `Maven Central`_ according to the build tool you use.
-
-Maven
-^^^^^
-
-.. parsed-literal::
-
-   <dependency>
-       <groupId>org.apache.kyuubi</groupId>
-       <artifactId>kyuubi-hive-jdbc-shaded</artifactId>
-       <version>\ |release|\</version>
-   </dependency>
-
-sbt
-^^^
-
-.. parsed-literal::
-
-   libraryDependencies += "org.apache.kyuubi" % "kyuubi-hive-jdbc-shaded" % "\ |release|\"
-
-
-Gradle
-^^^^^^
-
-.. parsed-literal::
-
-   implementation group: 'org.apache.kyuubi', name: 'kyuubi-hive-jdbc-shaded', version: '\ |release|\'
-
-Using the Driver in a JDBC Application
-**************************************
-
-For `JDBC Applications`_, such as BI tools, SQL IDEs, please check the specific guide for detailed information.
-
-.. note:: Is your favorite tool missing?
-   `Report an feature request <https://kyuubi.apache.org/issue_tracking.html>`_ or help us document it.
-
-.. _registering_class:
-
-Registering the Driver Class
-----------------------------
-
-Before connecting to your data, you must register the JDBC Driver class for your application.
-
-- org.apache.kyuubi.jdbc.KyuubiHiveDriver
-- org.apache.kyuubi.jdbc.KyuubiDriver (Deprecated)
-
-The following sample code shows how to use the `java.sql.DriverManager`_ class to establish a
-connection for JDBC:
-
-.. code-block:: java
-
-   private static Connection newKyuubiConnection() throws Exception {
-     Connection connection = DriverManager.getConnection(CONNECTION_URL);
-     return connection;
-   }
-
-.. _building_url:
-
-Building the Connection URL
----------------------------
-
-Basic Connection URL format
-***************************
-
-Use the connection URL to supply connection information to the kyuubi server or cluster that you are
-accessing. The following is the format of the connection URL for the Kyuubi Hive JDBC Driver
-
-.. code-block::
-
-   jdbc:subprotocol://host:port[/catalog]/[schema];<clientProperties;><[#|?]sessionProperties>
-
-- subprotocol: kyuubi or hive2
-- host: DNS or IP address of the kyuubi server
-- port: The number of the TCP port that the server uses to listen for client requests
-- catalog: Optional catalog name to set the current catalog to run the query against.
-- schema: Optional database name to set the current database to run the query against, use `default` if absent.
-- clientProperties: Optional `semicolon(;)` separated `key=value` parameters identified and affect the client behavior locally. e.g., user=foo;password=bar.
-- sessionProperties: Optional `semicolon(;)` separated `key=value` parameters used to configure the session, operation or background engines.
-  For instance, `kyuubi.engine.share.level=CONNECTION` determines the background engine instance is used only by the current connection. `spark.ui.enabled=false` disables the Spark UI of the engine.
-
-.. important::
-   - The sessionProperties MUST come after a leading number sign(#) or question mark (?).
-   - Properties are case-sensitive
-   - Do not duplicate properties in the connection URL
-
-Connection URL over HTTP
-************************
-
-.. versionadded:: 1.6.0
-
-.. code-block::
-
-   jdbc:subprotocol://host:port/schema;transportMode=http;httpPath=<http_endpoint>
-
-- http_endpoint is the corresponding HTTP endpoint configured by `kyuubi.frontend.thrift.http.path` at the server side.
-
-Connection URL over Service Discovery
-*************************************
-
-.. code-block::
-
-   jdbc:subprotocol://<zookeeper quorum>/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi
-
-- zookeeper quorum is the corresponding zookeeper cluster configured by `kyuubi.ha.addresses` at the server side.
-- zooKeeperNamespace is  the corresponding namespace configured by `kyuubi.ha.namespace` at the server side.
-
-HiveServer2 Compatibility
-*************************
-
-.. versionadded:: 1.8.0
-
-JDBC Drivers need to negotiate a protocol version with Kyuubi Server/HiveServer2 when connecting.
-
-Kyuubi Hive JDBC Driver offers protocol version v10 (`clientProtocolVersion=9`, supported since Hive 2.3.0)
-to server by default.
-
-If you need to connect to HiveServer2 before 2.3.0,
-please set client property `clientProtocolVersion` to a lower number.
-
-.. code-block::
-
-   jdbc:subprotocol://host:port[/catalog]/[schema];clientProtocolVersion=9;
-
-
-.. tip::
-    All supported protocol versions and corresponding Hive versions can be found in `TProtocolVersion.java`_
-    and its git commits.
-
-Kerberos Authentication
------------------------
-Since 1.6.0, Kyuubi JDBC driver implements the Kerberos authentication based on JAAS framework instead of `Hadoop UserGroupInformation`_,
-which means it does not forcibly rely on Hadoop dependencies to connect a kerberized Kyuubi Server.
-
-Kyuubi JDBC driver supports different approaches to connect a kerberized Kyuubi Server. First of all, please follow
-the `krb5.conf instruction`_ to setup ``krb5.conf`` properly.
-
-Authentication by Principal and Keytab
-**************************************
-
-.. versionadded:: 1.6.0
-
-.. tip::
-
-   It's the simplest way w/ minimal setup requirements for Kerberos authentication.
-
-It's straightforward to use principal and keytab for Kerberos authentication, just simply configure them in the JDBC URL.
-
-.. code-block::
-
-   jdbc:kyuubi://host:port/schema;kyuubiClientPrincipal=<clientPrincipal>;kyuubiClientKeytab=<clientKeytab>;kyuubiServerPrincipal=<serverPrincipal>
-
-- kyuubiClientPrincipal: Kerberos ``principal`` for client authentication
-- kyuubiClientKeytab: path of Kerberos ``keytab`` file for client authentication
-- kyuubiClientTicketCache: path of Kerberos ``ticketCache`` file for client authentication, available since 1.8.0.
-- kyuubiServerPrincipal: Kerberos ``principal`` configured by `kyuubi.kinit.principal` at the server side. ``kyuubiServerPrincipal`` is available
-  as an alias of ``principal`` since 1.7.0, use ``principal`` for previous versions.
-
-Authentication by Principal and TGT Cache
-*****************************************
-
-Another typical usage of Kerberos authentication is using `kinit` to generate the TGT cache first, then the application
-does Kerberos authentication through the TGT cache.
-
-.. code-block::
-
-   jdbc:kyuubi://host:port/schema;kyuubiServerPrincipal=<serverPrincipal>
-
-Authentication by `Hadoop UserGroupInformation`_ ``doAs`` (programing only)
-***************************************************************************
-
-.. tip::
-
-  This approach allows project which already uses `Hadoop UserGroupInformation`_ for Kerberos authentication to easily
-  connect the kerberized Kyuubi Server. This approach does not work between [1.6.0, 1.7.0], and got fixed in 1.7.1.
-
-.. code-block::
-
-  String jdbcUrl = "jdbc:kyuubi://host:port/schema;kyuubiServerPrincipal=<serverPrincipal>"
-  UserGroupInformation ugi = UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab);
-  ugi.doAs((PrivilegedExceptionAction<String>) () -> {
-    Connection conn = DriverManager.getConnection(jdbcUrl);
-    ...
-  });
-
-Authentication by Subject (programing only)
-*******************************************
-
-.. code-block:: java
-
-   String jdbcUrl = "jdbc:kyuubi://host:port/schema;kyuubiServerPrincipal=<serverPrincipal>;kerberosAuthType=fromSubject"
-   Subject kerberizedSubject = ...;
-   Subject.doAs(kerberizedSubject, (PrivilegedExceptionAction<String>) () -> {
-     Connection conn = DriverManager.getConnection(jdbcUrl);
-     ...
-   });
-
-.. _Maven Central: https://mvnrepository.com/artifact/org.apache.kyuubi/kyuubi-hive-jdbc-shaded
-.. _JDBC Applications: ../bi_tools/index.html
-.. _java.sql.DriverManager: https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html
-.. _Hadoop UserGroupInformation: https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/security/UserGroupInformation.html
-.. _krb5.conf instruction: https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html
-.. _TProtocolVersion.java: https://github.com/apache/hive/blob/master/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java
\ No newline at end of file
diff --git a/docs/client/python/index.md b/docs/client/python/index.md
new file mode 100644
index 0000000000..193b8450dd
--- /dev/null
+++ b/docs/client/python/index.md
@@ -0,0 +1,26 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Python
+
+```{toctree}
+:maxdepth: 2
+
+pyhive
+jaydebeapi
+```
+
diff --git a/docs/client/python/index.rst b/docs/client/python/index.rst
deleted file mode 100644
index 8d310ebfd8..0000000000
--- a/docs/client/python/index.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Python
-==============
-
-.. toctree::
-    :maxdepth: 2
-
-    pyhive
-    jaydebeapi
diff --git a/docs/client/rest/index.md b/docs/client/rest/index.md
new file mode 100644
index 0000000000..b2676b7bf1
--- /dev/null
+++ b/docs/client/rest/index.md
@@ -0,0 +1,25 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# RESTful APIs and Clients
+
+```{toctree}
+:maxdepth: 2
+
+rest_api
+```
+
diff --git a/docs/client/rest/index.rst b/docs/client/rest/index.rst
deleted file mode 100644
index 3e94c0e2db..0000000000
--- a/docs/client/rest/index.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-RESTful APIs and Clients
-========================
-
-.. toctree::
-    :maxdepth: 2
-
-    rest_api
-
diff --git a/docs/client/ui/index.md b/docs/client/ui/index.md
new file mode 100644
index 0000000000..b4411105ad
--- /dev/null
+++ b/docs/client/ui/index.md
@@ -0,0 +1,26 @@
+<!--
+- Licensed to the Apache Software Foundation (ASF) under one or more
+- contributor license agreements.  See the NOTICE file distributed with
+- this work for additional information regarding copyright ownership.
+- The ASF licenses this file to You under the Apache License, Version 2.0
+- (the "License"); you may not use this file except in compliance with
+- the License.  You may obtain a copy of the License at
+-
+-   http://www.apache.org/licenses/LICENSE-2.0
+-
+- Unless required by applicable law or agreed to in writing, software
+- distributed under the License is distributed on an "AS IS" BASIS,
+- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- See the License for the specific language governing permissions and
+- limitations under the License.
+-->
+
+# Web UI
+
+```{toctree}
+:maxdepth: 2
+
+engine_ui
+batch_ui
+```
+
diff --git a/docs/client/ui/index.rst b/docs/client/ui/index.rst
deleted file mode 100644
index 1820d6521a..0000000000
--- a/docs/client/ui/index.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-.. Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-Web UI
-======
-
-.. toctree::
-    :maxdepth: 2
-
-    engine_ui
-    batch_ui
-
diff --git a/docs/conf.py b/docs/conf.py
index 6e3f427d3a..354bf781d1 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -85,7 +85,7 @@ myst_substitutions = {
     "release": release
 }
 
-myst_heading_anchors = 3
+myst_heading_anchors = 4
 
 master_doc = "index"
 
diff --git a/docs/security/authentication.md b/docs/security/authentication.md
index 520487a123..73ebd9760c 100644
--- a/docs/security/authentication.md
+++ b/docs/security/authentication.md
@@ -38,7 +38,6 @@ The related configurations can be found at [Authentication Configurations](../co
 :maxdepth: 2
 
 kerberos
-../client/advanced/kerberos
 ldap
 jdbc
 ../extensions/server/authentication