Copilot commented on code in PR #3262:
URL: https://github.com/apache/doris-website/pull/3262#discussion_r2663788770
##########
versioned_docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "en",
+ "description": "This document describes the supported parameters when
connecting to and accessing Iceberg Catalog metadata services using the JDBC
interface."
+}
+---
+
+This document describes the supported parameters when connecting to and
accessing Iceberg Catalog metadata services using the JDBC interface through
the `CREATE CATALOG` statement.
+
+:::tip Note
+This is an experimental feature, supported since version 4.1.0.
+:::
+
+## Parameter Overview
+
+| Property Name | Description | Default Value | Required |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | Specifies the JDBC connection URI | - | Yes |
+| iceberg.jdbc.user | JDBC connection username | - | Yes |
+| iceberg.jdbc.password | JDBC connection password | - | Yes |
+| warehouse | Specifies the iceberg warehouse | - | Yes |
+| iceberg.jdbc.driver-class | JDBC driver class name, such as
`org.postgresql.Driver`, `com.mysql.cj.jdbc.Driver`, etc. | - | No |
+| iceberg.jdbc.driver-url | URL of JDBC driver JAR file, supports http/https
URL or local file path | - | No |
+
+> Note:
+>
+> 1. Iceberg JDBC Catalog supports various relational databases as backend
storage, including PostgreSQL, MySQL, SQLite, etc.
+>
+> 2. Ensure the JDBC driver JAR file is accessible. You can specify the driver
location via `iceberg.jdbc.driver-url`, or place the driver in the custom_lib
directory of Doris FE and BE.
+>
+> 3. For MySQL databases, it is recommended to use MySQL Connector/J 8.0 or
later.
+>
+> 4. For PostgreSQL databases, it is recommended to use PostgreSQL JDBC Driver
42.x or later.
Review Comment:
The formatting blockquote structure uses a top-level "Note:" and then
numbered notes starting with "1.". Consider using a consistent format such as
either all top-level bullets or starting directly with numbered items without
the "Note:" prefix, to match typical documentation patterns.
```suggestion
1. Iceberg JDBC Catalog supports various relational databases as backend
storage, including PostgreSQL, MySQL, SQLite, etc.
2. Ensure the JDBC driver JAR file is accessible. You can specify the driver
location via `iceberg.jdbc.driver-url`, or place the driver in the custom_lib
directory of Doris FE and BE.
3. For MySQL databases, it is recommended to use MySQL Connector/J 8.0 or
later.
4. For PostgreSQL databases, it is recommended to use PostgreSQL JDBC Driver
42.x or later.
```
##########
versioned_docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "en",
+ "description": "This document describes the supported parameters when
connecting to and accessing Iceberg Catalog metadata services using the JDBC
interface."
+}
+---
+
+This document describes the supported parameters when connecting to and
accessing Iceberg Catalog metadata services using the JDBC interface through
the `CREATE CATALOG` statement.
+
+:::tip Note
+This is an experimental feature, supported since version 4.1.0.
+:::
+
+## Parameter Overview
+
+| Property Name | Description | Default Value | Required |
+| --- | --- | --- | --- |
Review Comment:
The table syntax has an extra space after the opening pipe character on line
18, which makes the table formatting inconsistent with the header row. The
space should be removed to maintain proper table alignment.
```suggestion
|--- | --- | --- | --- |
```
##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "zh-CN",
+ "description": "本文档用于介绍通过 CREATE CATALOG 语句连接并访问使用 JDBC 接口的 Iceberg
Catalog 元数据服务时所支持的参数。"
+}
+---
+
+本文档用于介绍通过 `CREATE CATALOG` 语句连接并访问使用 JDBC 接口的 Iceberg Catalog 元数据服务时所支持的参数。
+
+:::tip 提示
+该功能为试验功能,自 4.1.0 版本支持。
+:::
+
+## 参数总览
+
+|属性名称 | 描述 | 默认值 | 是否必须 |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | 指定 JDBC 连接地址 | - | 是 |
+| iceberg.jdbc.user | JDBC 连接用户名 | - | 是 |
+| iceberg.jdbc.password | JDBC 连接密码 | - | 是 |
+| warehouse | 指定 iceberg warehouse | - | 是 |
+| iceberg.jdbc.driver-class | JDBC 驱动类名,如
`org.postgresql.Driver`,`com.mysql.cj.jdbc.Driver` 等 | - | 否 |
+| iceberg.jdbc.driver-url | JDBC 驱动 JAR 包的 URL 地址,支持 http/https URL 或本地文件路径 |
- | 否 |
+
+> 注:
+>
+> 1. Iceberg JDBC Catalog 支持多种关系型数据库作为后端存储,包括 PostgreSQL、MySQL、SQLite 等。
+>
+> 2. 需要确保 JDBC 驱动 JAR 包可访问。可以通过 `iceberg.jdbc.driver-url` 指定驱动位置,或将驱动放置在 Doris
FE 和 BE 的 custom_lib 目录下。
+>
+> 3. 对于 MySQL 数据库,建议使用 MySQL Connector/J 8.0 及以上版本。
+>
+> 4. 对于 PostgreSQL 数据库,建议使用 PostgreSQL JDBC Driver 42.x 及以上版本。
+
+## 示例配置
+
+### PostgreSQL 作为元数据存储
+
+使用 PostgreSQL 数据库存储 Iceberg 元数据:
+
+```sql
+CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+);
+```
+
+### MySQL 作为元数据存储
+
+使用 MySQL 数据库存储 Iceberg 元数据:
+
+```sql
+CREATE CATALOG iceberg_jdbc_mysql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:mysql://127.0.0.1:3306/iceberg_db',
+ 'iceberg.jdbc.user' = 'root',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
示例中将 `s3.endpoint` 配置为 `http://s3.amazonaws.com`,会导致 S3
访问流量和凭证以明文在网络上传输,路径上的攻击者可以拦截或篡改数据。建议文档示例改为使用 HTTPS 协议的 S3
Endpoint,以确保访问密钥和对象数据在传输过程中被加密保护。
```suggestion
's3.endpoint' = 'https://s3.amazonaws.com',
```
##########
versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx:
##########
@@ -919,6 +920,75 @@ Support for Nested Namespace needs to be explicitly
enabled. For details, please
</details>
+### Iceberg JDBC Catalog
+:::tip Note
+This is an experimental feature, supported since version 4.1.0.
+:::
+
+<details>
+ <summary>4.1+ Version</summary>
+ <Tabs>
+ <TabItem value='PostgreSQL' label='PostgreSQL' default>
+ Using PostgreSQL as metadata storage with S3
+ ```sql
+ CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' =
'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
The example configures `s3.endpoint` with `http://s3.amazonaws.com`, which
will send S3 traffic and credentials in cleartext over the network and allows
attackers on the path to intercept or tamper with data. Update this example to
use an HTTPS S3 endpoint so that access keys and object data are protected in
transit.
##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx:
##########
@@ -919,6 +921,75 @@ Iceberg 的元数层级关系是 Catalog -> Namespace -> Table。其中 Namespac
</details>
+### Iceberg JDBC Catalog
+:::tip 提示
+该功能为试验功能,自 4.1.0 版本支持。
+:::
+
+<details>
+ <summary>4.1+ 版本</summary>
+ <Tabs>
+ <TabItem value='PostgreSQL' label='PostgreSQL' default>
+ 使用 PostgreSQL 作为元数据存储,配合 S3 存储
+ ```sql
+ CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' =
'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+ );
+ ```
+ </TabItem>
+ <TabItem value='MySQL' label='MySQL'>
+ 使用 MySQL 作为元数据存储,配合 S3 存储
+ ```sql
+ CREATE CATALOG iceberg_jdbc_mysql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:mysql://127.0.0.1:3306/iceberg_db',
+ 'iceberg.jdbc.user' = 'root',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
示例中将 `s3.endpoint` 配置为 `http://s3.amazonaws.com`,会导致 S3
访问流量和凭证以明文在网络上传输,路径上的攻击者可以拦截或篡改数据。建议文档示例改为使用 HTTPS 协议的 S3
Endpoint,以确保访问密钥和对象数据在传输过程中被加密保护。
##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "zh-CN",
+ "description": "本文档用于介绍通过 CREATE CATALOG 语句连接并访问使用 JDBC 接口的 Iceberg
Catalog 元数据服务时所支持的参数。"
+}
+---
+
+本文档用于介绍通过 `CREATE CATALOG` 语句连接并访问使用 JDBC 接口的 Iceberg Catalog 元数据服务时所支持的参数。
+
+:::tip 提示
+该功能为试验功能,自 4.1.0 版本支持。
+:::
+
+## 参数总览
+
+|属性名称 | 描述 | 默认值 | 是否必须 |
+| --- | --- | --- | --- |
Review Comment:
The table syntax has an extra space after the opening pipe character on line
18, which makes the table formatting inconsistent with the header row. The
space should be removed to maintain proper table alignment.
```suggestion
|--- | --- | --- | --- |
```
##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "zh-CN",
+ "description": "本文档用于介绍通过 CREATE CATALOG 语句连接并访问使用 JDBC 接口的 Iceberg
Catalog 元数据服务时所支持的参数。"
+}
+---
+
+本文档用于介绍通过 `CREATE CATALOG` 语句连接并访问使用 JDBC 接口的 Iceberg Catalog 元数据服务时所支持的参数。
+
+:::tip 提示
+该功能为试验功能,自 4.1.0 版本支持。
+:::
+
+## 参数总览
+
+|属性名称 | 描述 | 默认值 | 是否必须 |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | 指定 JDBC 连接地址 | - | 是 |
+| iceberg.jdbc.user | JDBC 连接用户名 | - | 是 |
+| iceberg.jdbc.password | JDBC 连接密码 | - | 是 |
+| warehouse | 指定 iceberg warehouse | - | 是 |
+| iceberg.jdbc.driver-class | JDBC 驱动类名,如
`org.postgresql.Driver`,`com.mysql.cj.jdbc.Driver` 等 | - | 否 |
+| iceberg.jdbc.driver-url | JDBC 驱动 JAR 包的 URL 地址,支持 http/https URL 或本地文件路径 |
- | 否 |
+
+> 注:
+>
+> 1. Iceberg JDBC Catalog 支持多种关系型数据库作为后端存储,包括 PostgreSQL、MySQL、SQLite 等。
+>
+> 2. 需要确保 JDBC 驱动 JAR 包可访问。可以通过 `iceberg.jdbc.driver-url` 指定驱动位置,或将驱动放置在 Doris
FE 和 BE 的 custom_lib 目录下。
+>
+> 3. 对于 MySQL 数据库,建议使用 MySQL Connector/J 8.0 及以上版本。
+>
+> 4. 对于 PostgreSQL 数据库,建议使用 PostgreSQL JDBC Driver 42.x 及以上版本。
Review Comment:
The formatting blockquote structure uses a top-level "注:" and then numbered
notes starting with "1.". Consider using a consistent format such as either all
top-level bullets or starting directly with numbered items without the "注:"
prefix, to match typical documentation patterns.
##########
versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx:
##########
@@ -919,6 +920,75 @@ Support for Nested Namespace needs to be explicitly
enabled. For details, please
</details>
+### Iceberg JDBC Catalog
+:::tip Note
+This is an experimental feature, supported since version 4.1.0.
+:::
+
+<details>
+ <summary>4.1+ Version</summary>
+ <Tabs>
+ <TabItem value='PostgreSQL' label='PostgreSQL' default>
+ Using PostgreSQL as metadata storage with S3
+ ```sql
+ CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' =
'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+ );
+ ```
+ </TabItem>
+ <TabItem value='MySQL' label='MySQL'>
+ Using MySQL as metadata storage with S3
+ ```sql
+ CREATE CATALOG iceberg_jdbc_mysql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:mysql://127.0.0.1:3306/iceberg_db',
+ 'iceberg.jdbc.user' = 'root',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
The example configures `s3.endpoint` with `http://s3.amazonaws.com`, which
will send S3 traffic and credentials in cleartext over the network and allows
attackers on the path to intercept or tamper with data. Update this example to
use an HTTPS S3 endpoint so that access keys and object data are protected in
transit.
##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx:
##########
@@ -919,6 +921,75 @@ Iceberg 的元数层级关系是 Catalog -> Namespace -> Table。其中 Namespac
</details>
+### Iceberg JDBC Catalog
+:::tip 提示
+该功能为试验功能,自 4.1.0 版本支持。
+:::
+
+<details>
+ <summary>4.1+ 版本</summary>
+ <Tabs>
+ <TabItem value='PostgreSQL' label='PostgreSQL' default>
+ 使用 PostgreSQL 作为元数据存储,配合 S3 存储
+ ```sql
+ CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' =
'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
示例中将 `s3.endpoint` 配置为 `http://s3.amazonaws.com`,会导致 S3
访问流量和凭证以明文在网络上传输,路径上的攻击者可以拦截或篡改数据。建议文档示例改为使用 HTTPS 协议的 S3
Endpoint,以确保访问密钥和对象数据在传输过程中被加密保护。
##########
versioned_docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "en",
+ "description": "This document describes the supported parameters when
connecting to and accessing Iceberg Catalog metadata services using the JDBC
interface."
+}
+---
+
+This document describes the supported parameters when connecting to and
accessing Iceberg Catalog metadata services using the JDBC interface through
the `CREATE CATALOG` statement.
+
+:::tip Note
+This is an experimental feature, supported since version 4.1.0.
+:::
+
+## Parameter Overview
+
+| Property Name | Description | Default Value | Required |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | Specifies the JDBC connection URI | - | Yes |
+| iceberg.jdbc.user | JDBC connection username | - | Yes |
+| iceberg.jdbc.password | JDBC connection password | - | Yes |
+| warehouse | Specifies the iceberg warehouse | - | Yes |
+| iceberg.jdbc.driver-class | JDBC driver class name, such as
`org.postgresql.Driver`, `com.mysql.cj.jdbc.Driver`, etc. | - | No |
+| iceberg.jdbc.driver-url | URL of JDBC driver JAR file, supports http/https
URL or local file path | - | No |
+
+> Note:
+>
+> 1. Iceberg JDBC Catalog supports various relational databases as backend
storage, including PostgreSQL, MySQL, SQLite, etc.
+>
+> 2. Ensure the JDBC driver JAR file is accessible. You can specify the driver
location via `iceberg.jdbc.driver-url`, or place the driver in the custom_lib
directory of Doris FE and BE.
+>
+> 3. For MySQL databases, it is recommended to use MySQL Connector/J 8.0 or
later.
+>
+> 4. For PostgreSQL databases, it is recommended to use PostgreSQL JDBC Driver
42.x or later.
+
+## Example Configurations
+
+### PostgreSQL as Metadata Storage
+
+Using PostgreSQL database to store Iceberg metadata:
+
+```sql
+CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
The example configures `s3.endpoint` with `http://s3.amazonaws.com`, which
will send S3 traffic and credentials in cleartext over the network and allows
attackers on the path to intercept or tamper with data. Update this example to
use an HTTPS S3 endpoint so that access keys and object data are protected in
transit.
##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "zh-CN",
+ "description": "本文档用于介绍通过 CREATE CATALOG 语句连接并访问使用 JDBC 接口的 Iceberg
Catalog 元数据服务时所支持的参数。"
+}
+---
+
+本文档用于介绍通过 `CREATE CATALOG` 语句连接并访问使用 JDBC 接口的 Iceberg Catalog 元数据服务时所支持的参数。
+
+:::tip 提示
+该功能为试验功能,自 4.1.0 版本支持。
+:::
+
+## 参数总览
+
+|属性名称 | 描述 | 默认值 | 是否必须 |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | 指定 JDBC 连接地址 | - | 是 |
+| iceberg.jdbc.user | JDBC 连接用户名 | - | 是 |
+| iceberg.jdbc.password | JDBC 连接密码 | - | 是 |
+| warehouse | 指定 iceberg warehouse | - | 是 |
+| iceberg.jdbc.driver-class | JDBC 驱动类名,如
`org.postgresql.Driver`,`com.mysql.cj.jdbc.Driver` 等 | - | 否 |
+| iceberg.jdbc.driver-url | JDBC 驱动 JAR 包的 URL 地址,支持 http/https URL 或本地文件路径 |
- | 否 |
+
+> 注:
+>
+> 1. Iceberg JDBC Catalog 支持多种关系型数据库作为后端存储,包括 PostgreSQL、MySQL、SQLite 等。
+>
+> 2. 需要确保 JDBC 驱动 JAR 包可访问。可以通过 `iceberg.jdbc.driver-url` 指定驱动位置,或将驱动放置在 Doris
FE 和 BE 的 custom_lib 目录下。
+>
+> 3. 对于 MySQL 数据库,建议使用 MySQL Connector/J 8.0 及以上版本。
+>
+> 4. 对于 PostgreSQL 数据库,建议使用 PostgreSQL JDBC Driver 42.x 及以上版本。
+
+## 示例配置
+
+### PostgreSQL 作为元数据存储
+
+使用 PostgreSQL 数据库存储 Iceberg 元数据:
+
+```sql
+CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
示例中将 `s3.endpoint` 配置为 `http://s3.amazonaws.com`,会导致 S3
访问流量和凭证以明文在网络上传输,路径上的攻击者可以拦截或篡改数据。建议文档示例改为使用 HTTPS 协议的 S3
Endpoint,以确保访问密钥和对象数据在传输过程中被加密保护。
##########
versioned_docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "en",
+ "description": "This document describes the supported parameters when
connecting to and accessing Iceberg Catalog metadata services using the JDBC
interface."
+}
+---
+
+This document describes the supported parameters when connecting to and
accessing Iceberg Catalog metadata services using the JDBC interface through
the `CREATE CATALOG` statement.
+
+:::tip Note
+This is an experimental feature, supported since version 4.1.0.
+:::
+
+## Parameter Overview
+
+| Property Name | Description | Default Value | Required |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | Specifies the JDBC connection URI | - | Yes |
+| iceberg.jdbc.user | JDBC connection username | - | Yes |
+| iceberg.jdbc.password | JDBC connection password | - | Yes |
+| warehouse | Specifies the iceberg warehouse | - | Yes |
+| iceberg.jdbc.driver-class | JDBC driver class name, such as
`org.postgresql.Driver`, `com.mysql.cj.jdbc.Driver`, etc. | - | No |
+| iceberg.jdbc.driver-url | URL of JDBC driver JAR file, supports http/https
URL or local file path | - | No |
+
+> Note:
+>
+> 1. Iceberg JDBC Catalog supports various relational databases as backend
storage, including PostgreSQL, MySQL, SQLite, etc.
+>
+> 2. Ensure the JDBC driver JAR file is accessible. You can specify the driver
location via `iceberg.jdbc.driver-url`, or place the driver in the custom_lib
directory of Doris FE and BE.
+>
+> 3. For MySQL databases, it is recommended to use MySQL Connector/J 8.0 or
later.
+>
+> 4. For PostgreSQL databases, it is recommended to use PostgreSQL JDBC Driver
42.x or later.
+
+## Example Configurations
+
+### PostgreSQL as Metadata Storage
+
+Using PostgreSQL database to store Iceberg metadata:
+
+```sql
+CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+);
+```
+
+### MySQL as Metadata Storage
+
+Using MySQL database to store Iceberg metadata:
+
+```sql
+CREATE CATALOG iceberg_jdbc_mysql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:mysql://127.0.0.1:3306/iceberg_db',
+ 'iceberg.jdbc.user' = 'root',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+);
+```
+
+### Using HDFS as Storage
+
+Combining HDFS storage system with JDBC Catalog:
+
+```sql
+CREATE CATALOG iceberg_jdbc_hdfs PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 'hdfs://namenode:8020/user/iceberg/warehouse',
+ 'fs.defaultFS' = 'hdfs://namenode:8020',
+ 'hadoop.username' = 'hadoop'
+);
+```
+
+### Specifying JDBC Driver
+
+If you need to explicitly specify the JDBC driver class and driver location:
+
+```sql
+CREATE CATALOG iceberg_jdbc_custom_driver PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.driver-class' = 'org.postgresql.Driver',
+ 'iceberg.jdbc.driver-url' =
'https://jdbc.postgresql.org/download/postgresql-42.6.0.jar',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
The example configures `s3.endpoint` with `http://s3.amazonaws.com`, which
will send S3 traffic and credentials in cleartext over the network and allows
attackers on the path to intercept or tamper with data. Update this example to
use an HTTPS S3 endpoint so that access keys and object data are protected in
transit.
```suggestion
's3.endpoint' = 'https://s3.amazonaws.com',
```
##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "zh-CN",
+ "description": "本文档用于介绍通过 CREATE CATALOG 语句连接并访问使用 JDBC 接口的 Iceberg
Catalog 元数据服务时所支持的参数。"
+}
+---
+
+本文档用于介绍通过 `CREATE CATALOG` 语句连接并访问使用 JDBC 接口的 Iceberg Catalog 元数据服务时所支持的参数。
+
+:::tip 提示
+该功能为试验功能,自 4.1.0 版本支持。
+:::
+
+## 参数总览
+
+|属性名称 | 描述 | 默认值 | 是否必须 |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | 指定 JDBC 连接地址 | - | 是 |
+| iceberg.jdbc.user | JDBC 连接用户名 | - | 是 |
+| iceberg.jdbc.password | JDBC 连接密码 | - | 是 |
+| warehouse | 指定 iceberg warehouse | - | 是 |
+| iceberg.jdbc.driver-class | JDBC 驱动类名,如
`org.postgresql.Driver`,`com.mysql.cj.jdbc.Driver` 等 | - | 否 |
+| iceberg.jdbc.driver-url | JDBC 驱动 JAR 包的 URL 地址,支持 http/https URL 或本地文件路径 |
- | 否 |
+
+> 注:
+>
+> 1. Iceberg JDBC Catalog 支持多种关系型数据库作为后端存储,包括 PostgreSQL、MySQL、SQLite 等。
+>
+> 2. 需要确保 JDBC 驱动 JAR 包可访问。可以通过 `iceberg.jdbc.driver-url` 指定驱动位置,或将驱动放置在 Doris
FE 和 BE 的 custom_lib 目录下。
+>
+> 3. 对于 MySQL 数据库,建议使用 MySQL Connector/J 8.0 及以上版本。
+>
+> 4. 对于 PostgreSQL 数据库,建议使用 PostgreSQL JDBC Driver 42.x 及以上版本。
+
+## 示例配置
+
+### PostgreSQL 作为元数据存储
+
+使用 PostgreSQL 数据库存储 Iceberg 元数据:
+
+```sql
+CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+);
+```
+
+### MySQL 作为元数据存储
+
+使用 MySQL 数据库存储 Iceberg 元数据:
+
+```sql
+CREATE CATALOG iceberg_jdbc_mysql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:mysql://127.0.0.1:3306/iceberg_db',
+ 'iceberg.jdbc.user' = 'root',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+);
+```
+
+### 使用 HDFS 作为存储
+
+结合 HDFS 存储系统使用 JDBC Catalog:
+
+```sql
+CREATE CATALOG iceberg_jdbc_hdfs PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 'hdfs://namenode:8020/user/iceberg/warehouse',
+ 'fs.defaultFS' = 'hdfs://namenode:8020',
+ 'hadoop.username' = 'hadoop'
+);
+```
+
+### 指定 JDBC 驱动
+
+如果需要显式指定 JDBC 驱动类和驱动位置:
+
+```sql
+CREATE CATALOG iceberg_jdbc_custom_driver PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.driver-class' = 'org.postgresql.Driver',
+ 'iceberg.jdbc.driver-url' =
'https://jdbc.postgresql.org/download/postgresql-42.6.0.jar',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
示例中将 `s3.endpoint` 配置为 `http://s3.amazonaws.com`,会导致 S3
访问流量和凭证以明文在网络上传输,路径上的攻击者可以拦截或篡改数据。建议文档示例改为使用 HTTPS 协议的 S3
Endpoint,以确保访问密钥和对象数据在传输过程中被加密保护。
```suggestion
's3.endpoint' = 'https://s3.amazonaws.com',
```
##########
versioned_docs/version-4.x/lakehouse/metastores/iceberg-jdbc.md:
##########
@@ -0,0 +1,140 @@
+---
+{
+ "title": "Iceberg JDBC Catalog",
+ "language": "en",
+ "description": "This document describes the supported parameters when
connecting to and accessing Iceberg Catalog metadata services using the JDBC
interface."
+}
+---
+
+This document describes the supported parameters when connecting to and
accessing Iceberg Catalog metadata services using the JDBC interface through
the `CREATE CATALOG` statement.
+
+:::tip Note
+This is an experimental feature, supported since version 4.1.0.
+:::
+
+## Parameter Overview
+
+| Property Name | Description | Default Value | Required |
+| --- | --- | --- | --- |
+| iceberg.jdbc.uri | Specifies the JDBC connection URI | - | Yes |
+| iceberg.jdbc.user | JDBC connection username | - | Yes |
+| iceberg.jdbc.password | JDBC connection password | - | Yes |
+| warehouse | Specifies the iceberg warehouse | - | Yes |
+| iceberg.jdbc.driver-class | JDBC driver class name, such as
`org.postgresql.Driver`, `com.mysql.cj.jdbc.Driver`, etc. | - | No |
+| iceberg.jdbc.driver-url | URL of JDBC driver JAR file, supports http/https
URL or local file path | - | No |
+
+> Note:
+>
+> 1. Iceberg JDBC Catalog supports various relational databases as backend
storage, including PostgreSQL, MySQL, SQLite, etc.
+>
+> 2. Ensure the JDBC driver JAR file is accessible. You can specify the driver
location via `iceberg.jdbc.driver-url`, or place the driver in the custom_lib
directory of Doris FE and BE.
+>
+> 3. For MySQL databases, it is recommended to use MySQL Connector/J 8.0 or
later.
+>
+> 4. For PostgreSQL databases, it is recommended to use PostgreSQL JDBC Driver
42.x or later.
+
+## Example Configurations
+
+### PostgreSQL as Metadata Storage
+
+Using PostgreSQL database to store Iceberg metadata:
+
+```sql
+CREATE CATALOG iceberg_jdbc_postgresql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:postgresql://127.0.0.1:5432/iceberg_db',
+ 'iceberg.jdbc.user' = 'iceberg',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
+ 's3.region' = 'us-east-1'
+);
+```
+
+### MySQL as Metadata Storage
+
+Using MySQL database to store Iceberg metadata:
+
+```sql
+CREATE CATALOG iceberg_jdbc_mysql PROPERTIES (
+ 'type' = 'iceberg',
+ 'iceberg.catalog.type' = 'jdbc',
+ 'iceberg.jdbc.uri' = 'jdbc:mysql://127.0.0.1:3306/iceberg_db',
+ 'iceberg.jdbc.user' = 'root',
+ 'iceberg.jdbc.password' = 'password',
+ 'iceberg.jdbc.init-catalog-tables' = 'true',
+ 'iceberg.jdbc.schema-version' = 'V1',
+ 'iceberg.jdbc.strict-mode' = 'false',
+ 'warehouse' = 's3://bucket/warehouse',
+ 's3.access_key' = '<ak>',
+ 's3.secret_key' = '<sk>',
+ 's3.endpoint' = 'http://s3.amazonaws.com',
Review Comment:
The example configures `s3.endpoint` with `http://s3.amazonaws.com`, which
will send S3 traffic and credentials in cleartext over the network and allows
attackers on the path to intercept or tamper with data. Update this example to
use an HTTPS S3 endpoint so that access keys and object data are protected in
transit.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]