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

Gabriel39 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new c99440a8a81 [docs](lakehouse) Add catalog type mapping subpages 
aligned with Doris 4.2 (#4410)
c99440a8a81 is described below

commit c99440a8a81df085187550e7ad664d6cb321631f
Author: Gabriel <[email protected]>
AuthorDate: Tue Oct 20 14:16:01 2026 +0800

    [docs](lakehouse) Add catalog type mapping subpages aligned with Doris 4.2 
(#4410)
    
    ## Summary
    
    The catalog pages already contain type mapping tables, but several
    entries lag behind Doris `branch-4.2`, and the tables are embedded in
    long catalog guides. Add a **Doris Data Type Mapping** child page under
    each Iceberg, Paimon, Lance, and Hive Catalog, with English and Chinese
    versions for dev and 4.x. Keep the existing catalog URLs and
    mapping-section anchors as links to the new references.
    
    Mappings were checked against Apache Doris `branch-4.2` at
    `bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549`, with pinned implementation
    links on each page:
    
    - Iceberg: native UUID, unzoned nanosecond timestamps, Variant, and
    unsupported TIME/zoned nanosecond timestamps.
    - Paimon: bounded CHAR/VARCHAR, binary lengths, nanosecond timestamp
    preservation, and the Variant read prerequisite.
    - Hive: explicit timestamp precision, recursive mappings, and
    unsupported union types.
    - Lance: native string naming, timestamp precision, decimal constraints,
    extensions, and unsupported-field behavior.
    
    The references distinguish read mappings from write capabilities and
    identify the 4.2 scope. Existing 3.x documentation is not changed
    because these mappings were verified against 4.2.
    
    ## Validation and self-review
    
    - Docusaurus MD/MDX compilation passed for all 34 changed documents.
    - Verified all eight catalog navigation placements, preservation of
    every existing catalog heading anchor, and type-table consistency across
    all 16 new version/language pages.
    - `git diff --check` passed; reviewed the complete diff and checked
    added content for sensitive information.
    - The CI link checker (`python3 scripts/check_md_links_single.py <file>
    --no-external`) passes for all 34 changed documents. Dev Lance
    references explicitly link to the existing 4.x guide in both languages.
    The separate anchor-aware governance report still identifies two
    pre-existing Hive `#configure-catalog` references.
    - Language/version sync has one existing-layout exception: the full
    Lance Catalog overview only exists in 4.x. The new mapping pages exist
    in both dev and 4.x; dev gets a Lance Catalog navigation group and links
    from its existing Lance file-format page.
    - Scope and information architecture reviewed: focused
    documentation/navigation changes, stable existing URLs and anchors,
    synchronized English/Chinese content. No frontend runtime, styling, or
    build-script changes; no additional correctness or usability issues
    found. Full site builds and Doris runtime tests were not run for this
    documentation-only change.
    
    ## Versions
    
    - [x] dev
    - [x] 4.x
    - [ ] 3.x
    - [ ] 2.1 or older (not covered by version/language sync gate)
    
    ## Languages
    
    - [x] Chinese
    - [x] English
    
    ## Docs Checklist
    
    - [x] Checked by AI
    - [ ] Test Cases Built
    - [x] Updated required version and language counterparts, or explained
    why not
    - [x] If only one language changed, confirmed whether source/translation
    counterparts need sync
---
 docs/lakehouse/catalogs/hive-catalog.mdx           | 25 +-------
 .../catalogs/hive-catalog/doris-type-mapping.md    | 39 ++++++++++++
 docs/lakehouse/catalogs/iceberg-catalog.mdx        | 30 +--------
 .../catalogs/iceberg-catalog/doris-type-mapping.md | 45 +++++++++++++
 .../catalogs/lance-catalog/doris-type-mapping.md   | 73 ++++++++++++++++++++++
 docs/lakehouse/catalogs/paimon-catalog.mdx         | 29 +--------
 .../catalogs/paimon-catalog/doris-type-mapping.md  | 42 +++++++++++++
 docs/lakehouse/file-formats/lance.md               |  6 ++
 .../current/lakehouse/catalogs/hive-catalog.mdx    | 24 +------
 .../catalogs/hive-catalog/doris-type-mapping.md    | 39 ++++++++++++
 .../current/lakehouse/catalogs/iceberg-catalog.mdx | 30 +--------
 .../catalogs/iceberg-catalog/doris-type-mapping.md | 45 +++++++++++++
 .../catalogs/lance-catalog/doris-type-mapping.md   | 73 ++++++++++++++++++++++
 .../current/lakehouse/catalogs/paimon-catalog.mdx  | 29 +--------
 .../catalogs/paimon-catalog/doris-type-mapping.md  | 42 +++++++++++++
 .../current/lakehouse/file-formats/lance.md        |  7 ++-
 .../lakehouse/catalogs/hive-catalog.mdx            | 22 +------
 .../catalogs/hive-catalog/doris-type-mapping.md    | 39 ++++++++++++
 .../lakehouse/catalogs/iceberg-catalog.mdx         | 28 +--------
 .../catalogs/iceberg-catalog/doris-type-mapping.md | 45 +++++++++++++
 .../lakehouse/catalogs/lance-catalog.mdx           | 58 +----------------
 .../catalogs/lance-catalog/doris-type-mapping.md   | 73 ++++++++++++++++++++++
 .../lakehouse/catalogs/paimon-catalog.mdx          | 29 +--------
 .../catalogs/paimon-catalog/doris-type-mapping.md  | 42 +++++++++++++
 .../version-4.x/lakehouse/file-formats/lance.md    |  2 +
 sidebars.ts                                        | 14 ++++-
 .../lakehouse/catalogs/hive-catalog.mdx            | 23 +------
 .../catalogs/hive-catalog/doris-type-mapping.md    | 39 ++++++++++++
 .../lakehouse/catalogs/iceberg-catalog.mdx         | 28 +--------
 .../catalogs/iceberg-catalog/doris-type-mapping.md | 45 +++++++++++++
 .../lakehouse/catalogs/lance-catalog.mdx           | 58 +----------------
 .../catalogs/lance-catalog/doris-type-mapping.md   | 73 ++++++++++++++++++++++
 .../lakehouse/catalogs/paimon-catalog.mdx          | 29 +--------
 .../catalogs/paimon-catalog/doris-type-mapping.md  | 42 +++++++++++++
 .../version-4.x/lakehouse/file-formats/lance.md    |  2 +
 versioned_sidebars/version-4.x-sidebars.json       | 26 +++++++-
 36 files changed, 864 insertions(+), 431 deletions(-)

diff --git a/docs/lakehouse/catalogs/hive-catalog.mdx 
b/docs/lakehouse/catalogs/hive-catalog.mdx
index 2b9459da041..af3286d2137 100644
--- a/docs/lakehouse/catalogs/hive-catalog.mdx
+++ b/docs/lakehouse/catalogs/hive-catalog.mdx
@@ -89,7 +89,7 @@ Starting from Doris 4.1.x, Hive Catalog's external metadata 
cache is configured
 
 ### Cache Property Configuration {#meta-cache-unified-model}
 
-Each cache entry uses a unified configuration key format: 
`meta.cache.<engine>.<entry>.{enable,ttl-second,capacity,max-weight}`. For Hive 
the `<engine>` is `hive`. A Hive Metastore Catalog that contains Iceberg tables 
also uses the `iceberg` entries described in [Iceberg 
Catalog](./iceberg-catalog#meta-cache).
+Each cache entry uses a unified configuration key format: 
`meta.cache.<engine>.<entry>.{enable,ttl-second,capacity,max-weight}`. For Hive 
the `<engine>` is `hive`. A Hive Metastore Catalog that contains Iceberg tables 
also uses the `iceberg` entries described in [Iceberg 
Catalog](./iceberg-catalog.mdx#meta-cache).
 
 | Property | Example | Meaning |
 |---|---|---|
@@ -263,28 +263,7 @@ The same property is accepted by file table-valued 
functions that read Parquet f
 
 ## Column Type Mapping
 
-| Hive Type     | Doris Type    | Comment                                      
  |
-| ------------- | ------------- | 
---------------------------------------------- |
-| boolean       | boolean       |                                              
  |
-| tinyint       | tinyint       |                                              
  |
-| smallint      | smallint      |                                              
  |
-| int           | int           |                                              
  |
-| bigint        | bigint        |                                              
  |
-| date          | date          |                                              
  |
-| timestamp     | datetime(6)   | Mapped to datetime with precision 6          
  |
-| float         | float         |                                              
  |
-| double        | double        |                                              
  |
-| decimal(P, S) | decimal(P, S) | Defaults to decimal(9, 0) if precision not 
specified |
-| char(N)       | char(N)       |                                              
  |
-| varchar(N)    | varchar(N)    |                                              
  |
-| string        | string        |                                              
  |
-| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. The 
`enable.mapping.varbinary` property is retained for compatibility; setting it 
to `false` no longer restores the `STRING` mapping. Earlier versions allow the 
property to select the legacy mapping. |
-| timestamp with local time zone | TIMESTAMPTZ | Since 4.1.5, this type always 
maps to `TIMESTAMPTZ`. The `enable.mapping.timestamp_tz` property is retained 
for compatibility; setting it to `false` no longer restores the `DATETIME` 
mapping. Precision is capped at 6, so higher precision is lost. Earlier 
versions allow the property to select the legacy mapping. |
-| array         | array         |                                              
  |
-| map           | map           |                                              
  |
-| struct        | struct        |                                              
  |
-| other         | unsupported   |                                              
  |
-
+See [Hive to Doris Data Type Mapping](hive-catalog/doris-type-mapping.md) for 
the complete Doris 4.2 mapping table, precision rules, and unsupported types.
 
 ## Examples
 ### Hive Metastore
diff --git a/docs/lakehouse/catalogs/hive-catalog/doris-type-mapping.md 
b/docs/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..baaf40f2f85
--- /dev/null
+++ b/docs/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
@@ -0,0 +1,39 @@
+---
+{
+    "title": "Hive to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Hive type mapping reference covering data types, 
precision, nested types, and unsupported types."
+}
+---
+
+The following table describes how Doris 4.2 (`branch-4.2`) maps Hive 
external-table schemas when reading. Writes also depend on the target schema 
and supported write operations; the read mapping is not an automatic inverse 
mapping for writes.
+
+| Hive Type     | Doris Type    | Comment                                      
  |
+| ------------- | ------------- | 
---------------------------------------------- |
+| boolean       | boolean       |                                              
  |
+| tinyint       | tinyint       |                                              
  |
+| smallint      | smallint      |                                              
  |
+| int           | int           |                                              
  |
+| bigint        | bigint        |                                              
  |
+| date          | date          |                                              
  |
+| timestamp     | datetime(6)   | Mapped to datetime with precision 6          
  |
+| float         | float         |                                              
  |
+| double        | double        |                                              
  |
+| decimal(P, S) | decimal(P, S) | Defaults to decimal(9, 0) if precision not 
specified |
+| char(N)       | char(N)       |                                              
  |
+| varchar(N)    | varchar(N)    |                                              
  |
+| string        | string        |                                              
  |
+| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. |
+| timestamp with local time zone | TIMESTAMPTZ(6) | Since 4.1.5, this type 
always maps to `TIMESTAMPTZ(6)`. Precision is capped at 6, so higher precision 
is lost. |
+| array         | array         |                                              
  |
+| map           | map           |                                              
  |
+| struct        | struct        |                                              
  |
+| other         | unsupported   |                                              
  |
+
+## Usage Notes
+
+Child fields of complex types use the same mappings recursively. `TIMESTAMPTZ` 
represents an instant displayed in the session `time_zone`.
+
+Hive Catalog derives schemas from Hive Metastore type strings. `timestamp` 
maps to `DATETIME(6)`; nanosecond data in the underlying file does not 
automatically change the mapping to `TIMESTAMP_NS`. Types not listed as 
supported, including `uniontype`, are unsupported.
+
+Implementation reference: 
[HiveMetaStoreClientHelper.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java)
 (`branch-4.2`).
diff --git a/docs/lakehouse/catalogs/iceberg-catalog.mdx 
b/docs/lakehouse/catalogs/iceberg-catalog.mdx
index 1f861c6dcaf..dbf717bcbf6 100644
--- a/docs/lakehouse/catalogs/iceberg-catalog.mdx
+++ b/docs/lakehouse/catalogs/iceberg-catalog.mdx
@@ -248,35 +248,7 @@ Since version 4.1.4, the Iceberg identity partition 
metadata is delivered with e
 
 ## Column Type Mapping
 
-| Iceberg Type                           | Doris Type           | Comment      
                           |
-| -------------------------------------- | -------------------- | 
--------------------------------------- |
-| boolean                                | boolean              |              
                           |
-| integer                                | int                  |              
                           |
-| long                                   | bigint               |              
                           |
-| float                                  | float                |              
                           |
-| double                                 | double               |              
                           |
-| decimal(P, S)                          | decimal(P, S)        |              
                           |
-| date                                   | date                 |              
                           |
-| timestamp (Timestamp without timezone) | datetime(6)          | Mapped to 
datetime with precision 6     |
-| timestamptz (Timestamp with timezone) | TIMESTAMPTZ(6) | Since 4.1.5, this 
type always maps to `TIMESTAMPTZ(6)`. The `enable.mapping.timestamp_tz` 
property is retained for compatibility; setting it to `false` no longer 
restores the `DATETIME` mapping. Precision is capped at 6, so higher precision 
is lost. Earlier versions allow the property to select the legacy mapping. |
-| fixed(N) | VARBINARY(N) | Since 4.1.5, the fixed binary width is preserved. |
-| string                                 | string               |              
                           |
-| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. The 
`enable.mapping.varbinary` property is retained for compatibility; setting it 
to `false` no longer restores the `STRING` mapping. Earlier versions allow the 
property to select the legacy mapping. |
-| uuid | UUID | The dev version maps Iceberg UUID directly to native Doris 
`UUID`, independently of `enable.mapping.varbinary`. Doris 4.1.5 maps it to 
`VARBINARY(16)`. |
-| struct                                 | struct (supported from version 
2.1.3) |                                         |
-| map                                    | map (supported from version 2.1.3)  
  |                                         |
-| list                                   | array                |              
                           |
-| other                                  | UNSUPPORTED          |              
                           |
-
-Iceberg UUID maps directly to native Doris `UUID` in the dev version. Doris 
4.1.5 maps it to `VARBINARY(16)`. Parquet writes retain the UUID logical 
annotation, including nested fields. See the [UUID 
type](../../sql-manual/basic-element/sql-data-types/uuid.md).
-
-> Note:
->
-> Since 4.1.5, `timestamp` maps to `DATETIME(6)` and `timestamptz` always maps 
to `TIMESTAMPTZ(6)`. The latter represents an instant displayed in the session 
`time_zone`; `enable.mapping.timestamp_tz=false` cannot restore the old mapping.
->
-> You can check whether the source type has timezone information in the Extra 
column of the `DESCRIBE table_name` statement. If it shows `WITH_TIMEZONE`, it 
indicates that the source type is a timezone-aware type. (Supported since 
3.1.0).
->
-> Supported since version 4.0.3, `timestamptz` (timestamp with time zone) can 
be mapped to the Doris `timestamptz` type.
+See [Iceberg to Doris Data Type 
Mapping](iceberg-catalog/doris-type-mapping.md) for the complete Doris 4.2 
mapping table, precision rules, and unsupported types.
 
 ### Column Name Case
 
diff --git a/docs/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md 
b/docs/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..d5080921849
--- /dev/null
+++ b/docs/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
@@ -0,0 +1,45 @@
+---
+{
+    "title": "Iceberg to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Iceberg type mapping reference covering data 
types, precision, nested types, and unsupported types."
+}
+---
+
+The following table describes how Doris 4.2 (`branch-4.2`) maps Iceberg 
external-table schemas when reading. Writes also depend on the target schema 
and supported write operations; the read mapping is not an automatic inverse 
mapping for writes.
+
+| Iceberg Type                           | Doris Type           | Comment      
                           |
+| -------------------------------------- | -------------------- | 
--------------------------------------- |
+| boolean                                | boolean              |              
                           |
+| integer                                | int                  |              
                           |
+| long                                   | bigint               |              
                           |
+| float                                  | float                |              
                           |
+| double                                 | double               |              
                           |
+| decimal(P, S)                          | decimal(P, S)        |              
                           |
+| date                                   | date                 |              
                           |
+| timestamp (Timestamp without timezone) | datetime(6)          | Mapped to 
datetime with precision 6     |
+| timestamptz (Timestamp with timezone) | TIMESTAMPTZ(6) | Since 4.1.5, this 
type always maps to `TIMESTAMPTZ(6)`. Precision is capped at 6, so higher 
precision is lost. |
+| fixed(N) | VARBINARY(N) | Since 4.1.5, the fixed binary width is preserved. |
+| string                                 | string               |              
                           |
+| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. |
+| uuid | UUID | Native `UUID` in 4.2; Doris 4.1.5 maps this to 
`VARBINARY(16)`. |
+| struct                                 | struct (supported from version 
2.1.3) |                                         |
+| map                                    | map (supported from version 2.1.3)  
  |                                         |
+| list                                   | array                |              
                           |
+| timestamp_ns (without timezone) | TIMESTAMP_NS | Preserves nanosecond 
precision without session time-zone conversion. |
+| timestamptz_ns (with timezone) | UNSUPPORTED | Timezone-aware nanosecond 
timestamps are unsupported. |
+| time | UNSUPPORTED | Does not map to Doris `TIME`. |
+| variant | VARIANT | Iceberg V3 Variant; participating BEs must support 
Variant reads. |
+| other                                  | UNSUPPORTED          |              
                           |
+
+## Usage Notes
+
+Child fields of complex types use the same mappings recursively. `TIMESTAMPTZ` 
represents an instant displayed in the session `time_zone`.
+
+`timestamp` and `timestamptz` use microsecond precision. Only timezone-naive 
`timestamp_ns` maps to `TIMESTAMP_NS`. Its range is `1677-09-21 
00:12:43.145224192` through `2262-04-11 23:47:16.854775807`; values outside 
this range cannot be represented.
+
+In `DESCRIBE table_name`, `WITH_TIMEZONE` in the Extra column identifies a 
timezone-aware source field.
+
+Parquet writes to Iceberg UUID fields retain the UUID logical annotation, 
including nested fields.
+
+Implementation reference: 
[IcebergUtils.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java)
 (`branch-4.2`).
diff --git a/docs/lakehouse/catalogs/lance-catalog/doris-type-mapping.md 
b/docs/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..01f1ea8c0a3
--- /dev/null
+++ b/docs/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
@@ -0,0 +1,73 @@
+---
+{
+    "title": "Lance to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Lance type mapping reference covering data 
types, precision, nested types, and unsupported types."
+}
+---
+
+The following table describes read type mappings for Lance Catalog and Lance 
file TVFs in Doris 4.2 (`branch-4.2`). Doris does not support writing to Lance.
+
+| Lance / Arrow Type | Doris Type | Description |
+|---|---|---|
+| `null` (nullable field) | `NULL` | Every value is SQL NULL; non-nullable 
Null fields are unsupported |
+| `duration(s/ms/us/ns)` | `BIGINT` | Preserves the signed count in the 
declared unit; does not normalize to seconds |
+| `bool` | `BOOLEAN` | |
+| `int8` | `TINYINT` | |
+| `uint8` | `SMALLINT` | Losslessly widened unsigned integer |
+| `int16` | `SMALLINT` | |
+| `uint16` | `INT` | Losslessly widened unsigned integer |
+| `int32` | `INT` | |
+| `uint32` | `BIGINT` | Losslessly widened unsigned integer |
+| `int64` | `BIGINT` | |
+| `uint64` | `LARGEINT` | Losslessly widened unsigned integer |
+| `float16` | `FLOAT` | Widened to a 32-bit floating-point value |
+| `float32` | `FLOAT` | |
+| `float64` | `DOUBLE` | |
+| `decimal128(P,S)` | `DECIMAL(P,S)` | Maximum precision is 38 |
+| `decimal256(P,S)` | `DECIMAL(P,S)` | Maximum precision is 76 |
+| `utf8`, `large_utf8` | `STRING` | |
+| `arrow.json` Extension | `JSON` | Requires `utf8` or `large_utf8` storage |
+| `lance.json` Extension | `JSON` | Requires `large_binary` storage; read as 
the logical JSON type |
+| `lance.bfloat16` Extension | `FLOAT` | Requires `fixed_size_binary(2)` 
storage; widened to Float32 without precision loss |
+| `binary`, `large_binary` | `VARBINARY(2147483647)` | |
+| `fixed_size_binary(N)` | `VARBINARY(N)` | Preserves the fixed byte width |
+| `date32(day)`, `date64(ms)` | `DATE` | A `date64` value must represent a 
complete calendar day |
+| `time32(s)` | `TIME(0)` | |
+| `time32(ms)` | `TIME(3)` | |
+| `time64(us)`, `time64(ns)` | `TIME(6)` | Nanosecond precision is truncated 
to microseconds |
+| Timezone-naive `timestamp(s)` | `DATETIME(0)` | Not converted according to 
the Session Time Zone |
+| Timezone-naive `timestamp(ms)` | `DATETIME(3)` | Not converted according to 
the Session Time Zone |
+| Timezone-naive `timestamp(us)`, `timestamp(ns)` | `DATETIME(6)` | Nanosecond 
precision is truncated to microseconds |
+| Timezone-aware `timestamp` | `TIMESTAMPTZ(P)` | Preserves the instant and 
displays it in the Doris Session Time Zone |
+| `struct` | `STRUCT` | Child fields are mapped recursively |
+| `list`, `large_list`, `fixed_size_list` | `ARRAY` | Element types are mapped 
recursively |
+| `map` | `MAP` | Key and value types are mapped recursively |
+
+## Usage Notes
+
+Timestamp precision `P` is 0 for seconds, 3 for milliseconds, and 6 for 
microseconds or nanoseconds. Unlike the Iceberg/Paimon nanosecond mappings, 
Lance nanosecond timestamps still map to `DATETIME(6)` or `TIMESTAMPTZ(6)` and 
are truncated to microseconds. Decimals require `1 <= P <= 76` and `0 <= S <= 
P`; negative scales are unsupported.
+
+Doris recognizes these extensions through `ARROW:extension:name` metadata and 
validates their storage types. JSON extensions map to Doris `JSON` (internally 
`JSONB`). An ordinary `utf8`/`large_utf8` column containing JSON text still 
maps to `STRING`; its contents do not automatically change its type. JSON read 
support does not imply pushdown of arbitrary JSON path expressions; supported 
predicate forms must be checked separately.
+
+Reading JSON, Duration, Null, and BFloat16 requires the corresponding type 
support in both the FE and the BEs serving the query. Older builds may still 
report these types as unsupported; verify schema discovery and actual reads 
when upgrading.
+
+The following types are not currently supported:
+
+- Non-nullable Arrow `null` fields.
+- Arrow/Lance Extension types not listed as supported, such as Lance Blob v2; 
known extensions with incompatible storage types are also unsupported.
+- Complex types whose child types cannot be mapped recursively.
+- Arrow Dictionary types that preserve the Dictionary marker.
+
+For an unsupported top-level column, `DESC` on a Catalog table and `DESC 
FUNCTION` on a Lance file TVF both preserve the column and display `unknown 
type: UNSUPPORTED_TYPE`. If any child of a complex type cannot be mapped, the 
whole top-level complex column is marked unsupported. Queries can still project 
only supported columns. Doris reports an error during analysis when SQL 
projects an unsupported column. For example:
+
+```sql
+SELECT * EXCEPT(blob_col)
+FROM lance_catalog.default.all_types;
+```
+
+:::note
+Some Lance Java SDK versions may lose the Dictionary marker while reading a 
Schema and expose a Dictionary column as its physical index type. This behavior 
does not mean that Doris supports the logical Dictionary values and must not be 
relied upon.
+:::
+
+Implementation reference: 
[LanceTypeConverter.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/lance/metadata/LanceTypeConverter.java)
 (`branch-4.2`).
diff --git a/docs/lakehouse/catalogs/paimon-catalog.mdx 
b/docs/lakehouse/catalogs/paimon-catalog.mdx
index cd2d857ff25..b3b44517883 100644
--- a/docs/lakehouse/catalogs/paimon-catalog.mdx
+++ b/docs/lakehouse/catalogs/paimon-catalog.mdx
@@ -342,26 +342,7 @@ The currently dependent Paimon version is 1.4.2.
 
 ## Column Type Mapping
 
-| Paimon Type                        | Doris Type    | Comment                 
                                                |
-| ---------------------------------- | ------------- | 
----------------------------------------------------------------------- |
-| boolean                            | boolean       |                         
                                                |
-| tinyint                            | tinyint       |                         
                                                |
-| smallint                           | smallint      |                         
                                                |
-| integer                            | int           |                         
                                                |
-| bigint                             | bigint        |                         
                                                |
-| float                              | float         |                         
                                                |
-| double                             | double        |                         
                                                |
-| decimal(P, S)                      | decimal(P, S) |                         
                                                |
-| varchar                            | string        |                         
                                                |
-| char                               | string        |                         
                                                |
-| binary, varbinary | VARBINARY | Since 4.1.5, this type always maps to 
`VARBINARY`. The `enable.mapping.varbinary` property is retained for 
compatibility; setting it to `false` no longer restores the `STRING` mapping. 
Earlier versions allow the property to select the legacy mapping. |
-| date                               | date          |                         
                                                |
-| timestamp\_without\_time\_zone     | datetime(N)   | Mapped according to 
precision. If precision is greater than 6, it maps to a maximum of 6 (may cause 
precision loss). |
-| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | Since 4.1.5, this type 
always maps to `TIMESTAMPTZ(N)`. The `enable.mapping.timestamp_tz` property is 
retained for compatibility; setting it to `false` no longer restores the 
`DATETIME` mapping. Precision is capped at 6, so higher precision is lost. 
Earlier versions allow the property to select the legacy mapping. |
-| array                              | array         |                         
                                                |
-| map                                | map           |                         
                                                |
-| row                                | struct        |                         
                                                |
-| other                              | UNSUPPORTED   |                         
                                                |
+See [Paimon to Doris Data Type Mapping](paimon-catalog/doris-type-mapping.md) 
for the complete Doris 4.2 mapping table, precision rules, and unsupported 
types.
 
 Doris preserves the exact spelling of quoted top-level columns and nested 
`STRUCT` fields on both Paimon JNI scanner
 paths. Names containing delimiters such as commas (`region,code`), hash signs 
(`nested#value`), colons (`colon:name`),
@@ -377,14 +358,6 @@ Versions in the 4.0 line before 4.0.8 located columns by 
exact match when readin
 
 Since 4.1.5, explicit `REFRESH TABLE`, `REFRESH DATABASE`, and `REFRESH 
CATALOG` commands also invalidate the corresponding Paimon metadata caches. 
After external schema changes or dropping and recreating a table, use a refresh 
command to reload metadata. Queries that have already started retain their 
selected snapshot.
 
-:::info Note
-Since 4.1.5, `timestamp_without_time_zone` maps to `DATETIME(N)`, while 
`timestamp_with_local_time_zone` always maps to `TIMESTAMPTZ(N)`. The latter 
represents an instant displayed in the session `time_zone`; 
`enable.mapping.timestamp_tz=false` cannot restore the old mapping.
-
-You can check whether the source type contains timezone information in the 
Extra column of the `DESCRIBE table_name` statement. If it displays 
`WITH_TIMEZONE`, it indicates that the source type is a timezone-aware type. 
(This feature is supported since 3.0.8)
-
-Supported since version 4.0.3, `timestamp_with_local_time_zone` can be mapped 
to Doris `timestamptz` type.
-:::
-
 ## Examples
 
 ### Hive Metastore
diff --git a/docs/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md 
b/docs/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..4da8d128642
--- /dev/null
+++ b/docs/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
@@ -0,0 +1,42 @@
+---
+{
+    "title": "Paimon to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Paimon type mapping reference covering data 
types, precision, nested types, and unsupported types."
+}
+---
+
+The following table describes how Doris 4.2 (`branch-4.2`) maps Paimon 
external-table schemas when reading. Writes also depend on the target schema 
and supported write operations; the read mapping is not an automatic inverse 
mapping for writes.
+
+| Paimon Type                        | Doris Type    | Comment                 
                                                |
+| ---------------------------------- | ------------- | 
----------------------------------------------------------------------- |
+| boolean                            | boolean       |                         
                                                |
+| tinyint                            | tinyint       |                         
                                                |
+| smallint                           | smallint      |                         
                                                |
+| integer                            | int           |                         
                                                |
+| bigint                             | bigint        |                         
                                                |
+| float                              | float         |                         
                                                |
+| double                             | double        |                         
                                                |
+| decimal(P, S)                      | decimal(P, S) |                         
                                                |
+| varchar(N) | VARCHAR(N) / STRING | `VARCHAR(N)` for `N <= 65533`; otherwise 
`STRING`. |
+| char(N) | CHAR(N) / STRING | `CHAR(N)` for `N <= 255`; otherwise `STRING`. |
+| binary(N), varbinary(N) | VARBINARY(N) | Preserves the declared byte length. 
|
+| date                               | date          |                         
                                                |
+| timestamp_without_time_zone(P) | DATETIME(P) / TIMESTAMP_NS | `DATETIME(P)` 
for `P <= 6`; in 4.2, `P > 6` maps to `TIMESTAMP_NS`, preserving 
sub-microsecond precision. |
+| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | Since 4.1.5, this type 
always maps to `TIMESTAMPTZ(N)`. Precision is capped at 6, so higher precision 
is lost. |
+| array                              | array         |                         
                                                |
+| map                                | map           |                         
                                                |
+| row                                | struct        |                         
                                                |
+| variant | VARIANT | Reading requires the FE configuration 
`enable_variant_v2=true`. |
+| time_without_time_zone | UNSUPPORTED | |
+| other                              | UNSUPPORTED   |                         
                                                |
+
+## Usage Notes
+
+Child fields of complex types use the same mappings recursively. `TIMESTAMPTZ` 
represents an instant displayed in the session `time_zone`.
+
+Precision handling differs for unzoned and local-zoned timestamps: 4.2 can 
preserve nanoseconds for the former, while the latter is capped at six 
fractional digits. The `TIMESTAMP_NS` range is `1677-09-21 00:12:43.145224192` 
through `2262-04-11 23:47:16.854775807`.
+
+In `DESCRIBE table_name`, `WITH_TIMEZONE` in the Extra column identifies a 
timezone-aware source field.
+
+Implementation reference: 
[PaimonUtil.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonUtil.java)
 (`branch-4.2`).
diff --git a/docs/lakehouse/file-formats/lance.md 
b/docs/lakehouse/file-formats/lance.md
index d64d6269712..d606573d343 100644
--- a/docs/lakehouse/file-formats/lance.md
+++ b/docs/lakehouse/file-formats/lance.md
@@ -15,6 +15,8 @@ Lance support is available starting from Apache Doris 4.2.
 
 [Lance](https://docs.lancedb.com/lance) is a columnar data format designed for 
analytics and AI workloads. Doris can read Lance datasets through a Lance 
Catalog or through the `s3()` and `local()` table-valued functions (TVFs).
 
+For Lance type mappings, see [Doris Data Type 
Mapping](../catalogs/lance-catalog/doris-type-mapping.md).
+
 ## Supported Features
 
 | Feature | Support |
@@ -29,6 +31,9 @@ Lance support is available starting from Apache Doris 4.2.
 | Time Travel | Not supported |
 | Full-Text Search / Hybrid Search | Not supported |
 
+<!-- The full Lance Catalog guide is currently available only in the 4.x 
documentation tree. -->
+For Catalog configuration, predicate pushdown, and vector search details, see 
[Lance Catalog (4.x)](/docs/4.x/lakehouse/catalogs/lance-catalog).
+
 ## Query a Lance Dataset with a File TVF
 
 The `uri` or `file_path` must point directly to the **root directory of one 
Lance dataset**, rather than an internal file such as `data/*.lance`.
@@ -61,4 +66,5 @@ To read a local dataset, use `local()` and specify the 
dataset root with `file_p
 
 ## References
 
+- [Lance Catalog (4.x)](/docs/4.x/lakehouse/catalogs/lance-catalog)
 - [Lance Format Documentation](https://docs.lancedb.com/lance)
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog.mdx
index 965a22d44fb..1a98bec1718 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog.mdx
@@ -91,7 +91,7 @@ Doris 4.1.x 之前的版本,元数据缓存主要由 FE 配置项全局控制
 
 ### 缓存属性配置 {#meta-cache-unified-model}
 
-每个缓存模块使用统一的配置键格式:`meta.cache.<engine>.<entry>.{enable,ttl-second,capacity,max-weight}`。Hive
 的 `<engine>` 为 `hive`。包含 Iceberg 表的 Hive Metastore Catalog 还会使用 [Iceberg 
Catalog](./iceberg-catalog#meta-cache) 中描述的 `iceberg` 模块。
+每个缓存模块使用统一的配置键格式:`meta.cache.<engine>.<entry>.{enable,ttl-second,capacity,max-weight}`。Hive
 的 `<engine>` 为 `hive`。包含 Iceberg 表的 Hive Metastore Catalog 还会使用 [Iceberg 
Catalog](./iceberg-catalog.mdx#meta-cache) 中描述的 `iceberg` 模块。
 
 | 属性 | 示例 | 含义 |
 |---|---|---|
@@ -275,27 +275,7 @@ CREATE CATALOG hive_legacy_int96 PROPERTIES (
 
 ## 列类型映射
 
-| Hive Type     | Doris Type    | Comment                   |
-| ------------- | ------------- | ------------------------- |
-| boolean       | boolean       |                           |
-| tinyint       | tinyint       |                           |
-| smallint      | smallint      |                           |
-| int           | int           |                           |
-| bigint        | bigint        |                           |
-| date          | date          |                           |
-| timestamp     | datetime(6)   | 固定映射到精度为 6 的 datetime     |
-| float         | float         |                           |
-| double        | double        |                           |
-| decimal(P, S) | decimal(P, S) | 如果未指定精度,默认为 decimal(9, 0) |
-| char(N)       | char(N)       |                           |
-| varchar(N)    | varchar(N)    |                           |
-| string        | string        |                           |
-| binary        | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`,`enable.mapping.varbinary` 仅作为兼容标记,设为 `false` 不再恢复 `STRING` 
映射。4.1.5 之前可通过该属性选择旧映射。 |
-| timestamp with local time zone| TIMESTAMPTZ | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ`,`enable.mapping.timestamp_tz` 仅作为兼容标记,设为 `false` 不再恢复 `DATETIME` 
映射。精度最高为 6,超过的部分会丢失。4.1.5 之前可通过该属性选择旧映射。 |
-| array         | array         |                           |
-| map           | map           |                           |
-| struct        | struct        |                           |
-| other         | unsupported   |                           |
+请参阅[Hive 与 Doris 数据类型映射](hive-catalog/doris-type-mapping.md),了解 Doris 4.2 
的完整映射表、精度和不支持的类型。
 
 ## 基础示例
 ### Hive Metastore
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..c5cee00ca01
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
@@ -0,0 +1,39 @@
+---
+{
+    "title": "Hive 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Hive 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)读取 Hive 外部表 Schema 时的类型映射。写入外部表时还受目标表 Schema 
和写入能力限制,不能直接将读取映射反向使用。
+
+| Hive Type     | Doris Type    | Comment                   |
+| ------------- | ------------- | ------------------------- |
+| boolean       | boolean       |                           |
+| tinyint       | tinyint       |                           |
+| smallint      | smallint      |                           |
+| int           | int           |                           |
+| bigint        | bigint        |                           |
+| date          | date          |                           |
+| timestamp     | datetime(6)   | 固定映射到精度为 6 的 datetime     |
+| float         | float         |                           |
+| double        | double        |                           |
+| decimal(P, S) | decimal(P, S) | 如果未指定精度,默认为 decimal(9, 0) |
+| char(N)       | char(N)       |                           |
+| varchar(N)    | varchar(N)    |                           |
+| string        | string        |                           |
+| binary        | VARBINARY | 自 4.1.5 版本起固定映射为 `VARBINARY`。 |
+| timestamp with local time zone| TIMESTAMPTZ(6) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(6)`。精度最高为 6,超过的部分会丢失。 |
+| array         | array         |                           |
+| map           | map           |                           |
+| struct        | struct        |                           |
+| other         | unsupported   |                           |
+
+## 使用说明
+
+复合类型的子字段递归使用上述映射。`TIMESTAMPTZ` 表示时间点,按会话 `time_zone` 展示。
+
+Hive Catalog 从 Hive Metastore 的类型字符串推断 Schema。`timestamp` 映射为 
`DATETIME(6)`,不会因为底层文件保存了纳秒就自动映射为 `TIMESTAMP_NS`。`uniontype` 等未列为支持的类型不受支持。
+
+实现依据:[HiveMetaStoreClientHelper.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog.mdx
index f285aa7fbba..ce4457472aa 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog.mdx
@@ -264,35 +264,7 @@ ORDER BY engine_name, entry_name;
 
 ## 列类型映射
 
-| Iceberg Type                           | Doris Type           | Comment      
         |
-| -------------------------------------- | -------------------- | 
--------------------- |
-| boolean                                | boolean              |              
         |
-| integer                                | int                  |              
         |
-| long                                   | bigint               |              
         |
-| float                                  | float                |              
         |
-| double                                 | double               |              
         |
-| decimal(P, S)                          | decimal(P, S)        |              
         |
-| date                                   | date                 |              
         |
-| timestamp (Timestamp without timezone) | datetime(6)          | 固定映射到精度为 6 的 
datetime |
-| timestamptz (Timestamp with timezone)  | TIMESTAMPTZ(6) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(6)`,`enable.mapping.timestamp_tz` 仅作为兼容标记,设为 `false` 不再恢复 
`DATETIME` 映射。精度最高为 6,超过的部分会丢失。4.1.5 之前可通过该属性选择旧映射。 |
-| fixed(N) | VARBINARY(N) | 自 4.1.5 版本起保留固定二进制宽度。 |
-| string                                 | string               |              
         |
-| binary                                 | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`,`enable.mapping.varbinary` 仅作为兼容标记,设为 `false` 不再恢复 `STRING` 
映射。4.1.5 之前可通过该属性选择旧映射。 |
-| uuid | UUID | dev 版本直接映射到 Doris 原生 `UUID`,不受 `enable.mapping.varbinary` 
影响;4.1.5 映射到 `VARBINARY(16)`。 |
-| struct                                 | struct(2.1.3 版本开始支持) |              
         |
-| map                                    | map(2.1.3 版本开始支持)    |              
         |
-| list                                   | array                |              
         |
-| other                                  | UNSUPPORTED          |              
         |
-
-dev 版本的 Iceberg UUID 直接映射到 Doris 原生 `UUID`,4.1.5 则映射到 `VARBINARY(16)`。向 
Iceberg UUID 字段写入 Parquet 时保留 UUID 逻辑标记,包括嵌套字段。详见 [UUID 
类型](../../sql-manual/basic-element/sql-data-types/uuid.md)。
-
-> 注:
->
-> 自 4.1.5 版本起,`timestamp` 映射到 `DATETIME(6)`,`timestamptz` 固定映射到 
`TIMESTAMPTZ(6)`。后者表示时间点,按会话 `time_zone` 展示;`enable.mapping.timestamp_tz=false` 
不能恢复旧映射。
->
-> 可以在 `DESCRIBE table_name` 语句中的 Extra 列查看源类型是否带时区信息。如显示 
`WITH_TIMEZONE`,则表示源类型是带时区的类型(该功能自 3.1.0 版本支持)。
->
-> 4.0.3 后开始支持,可以映射 `timestamptz (Timestamp with timezone)` 到 Doris 的 
`timestamptz` 类型。
+请参阅[Iceberg 与 Doris 数据类型映射](iceberg-catalog/doris-type-mapping.md),了解 Doris 
4.2 的完整映射表、精度和不支持的类型。
 
 ### 列名大小写
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..a165509a8b9
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
@@ -0,0 +1,45 @@
+---
+{
+    "title": "Iceberg 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Iceberg 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)读取 Iceberg 外部表 Schema 时的类型映射。写入外部表时还受目标表 Schema 
和写入能力限制,不能直接将读取映射反向使用。
+
+| Iceberg Type                           | Doris Type           | Comment      
         |
+| -------------------------------------- | -------------------- | 
--------------------- |
+| boolean                                | boolean              |              
         |
+| integer                                | int                  |              
         |
+| long                                   | bigint               |              
         |
+| float                                  | float                |              
         |
+| double                                 | double               |              
         |
+| decimal(P, S)                          | decimal(P, S)        |              
         |
+| date                                   | date                 |              
         |
+| timestamp (Timestamp without timezone) | datetime(6)          | 固定映射到精度为 6 的 
datetime |
+| timestamptz (Timestamp with timezone)  | TIMESTAMPTZ(6) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(6)`。精度最高为 6,超过的部分会丢失。 |
+| fixed(N) | VARBINARY(N) | 自 4.1.5 版本起保留固定二进制宽度。 |
+| string                                 | string               |              
         |
+| binary                                 | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`。 |
+| uuid | UUID | 4.2 映射为原生 `UUID`;4.1.5 映射为 `VARBINARY(16)`。 |
+| struct                                 | struct(2.1.3 版本开始支持) |              
         |
+| map                                    | map(2.1.3 版本开始支持)    |              
         |
+| list                                   | array                |              
         |
+| timestamp_ns (without timezone) | TIMESTAMP_NS | 保留纳秒精度,不按会话时区转换。 |
+| timestamptz_ns (with timezone) | UNSUPPORTED | 不支持带时区的纳秒时间戳。 |
+| time | UNSUPPORTED | 不映射为 Doris `TIME`。 |
+| variant | VARIANT | Iceberg V3 Variant;读取需要参与查询的 BE 支持 Variant。 |
+| other                                  | UNSUPPORTED          |              
         |
+
+## 使用说明
+
+复合类型的子字段递归使用上述映射。`TIMESTAMPTZ` 表示时间点,按会话 `time_zone` 展示。
+
+`timestamp` 和 `timestamptz` 使用微秒精度;只有不带时区的 `timestamp_ns` 映射为 
`TIMESTAMP_NS`。`TIMESTAMP_NS` 的范围为 `1677-09-21 00:12:43.145224192` 至 
`2262-04-11 23:47:16.854775807`,超出范围的值不能表示。
+
+执行 `DESCRIBE table_name` 时,Extra 列中的 `WITH_TIMEZONE` 表示源字段带时区信息。
+
+向 Iceberg UUID 字段写入 Parquet 时会保留 UUID 逻辑标记,包括嵌套字段。
+
+实现依据:[IcebergUtils.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..63ceea6fa70
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
@@ -0,0 +1,73 @@
+---
+{
+    "title": "Lance 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Lance 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)中 Lance Catalog 和 Lance 文件 TVF 的读取类型映射。Doris 
不支持写入 Lance。
+
+| Lance / Arrow 类型 | Doris 类型 | 说明 |
+|---|---|---|
+| `null`(可空字段) | `NULL` | 所有值均为 SQL NULL;非可空 Null 字段不支持 |
+| `duration(s/ms/us/ns)` | `BIGINT` | 保留字段声明单位的有符号计数,不统一转换为秒 |
+| `bool` | `BOOLEAN` | |
+| `int8` | `TINYINT` | |
+| `uint8` | `SMALLINT` | 无符号整数无损提升 |
+| `int16` | `SMALLINT` | |
+| `uint16` | `INT` | 无符号整数无损提升 |
+| `int32` | `INT` | |
+| `uint32` | `BIGINT` | 无符号整数无损提升 |
+| `int64` | `BIGINT` | |
+| `uint64` | `LARGEINT` | 无符号整数无损提升 |
+| `float16` | `FLOAT` | 提升为 32 位浮点数 |
+| `float32` | `FLOAT` | |
+| `float64` | `DOUBLE` | |
+| `decimal128(P,S)` | `DECIMAL(P,S)` | 最大精度为 38 |
+| `decimal256(P,S)` | `DECIMAL(P,S)` | 最大精度为 76 |
+| `utf8`、`large_utf8` | `STRING` | |
+| `arrow.json` Extension | `JSON` | 底层类型为 `utf8` 或 `large_utf8` |
+| `lance.json` Extension | `JSON` | 底层类型为 `large_binary`;按 JSON 逻辑类型读取 |
+| `lance.bfloat16` Extension | `FLOAT` | 底层类型为 `fixed_size_binary(2)`;无损提升为 
Float32 |
+| `binary`、`large_binary` | `VARBINARY(2147483647)` | |
+| `fixed_size_binary(N)` | `VARBINARY(N)` | 保留固定字节宽度 |
+| `date32(day)`、`date64(ms)` | `DATE` | `date64` 应表示完整自然日 |
+| `time32(s)` | `TIME(0)` | |
+| `time32(ms)` | `TIME(3)` | |
+| `time64(us)`、`time64(ns)` | `TIME(6)` | 纳秒精度截断为微秒 |
+| 无时区 `timestamp(s)` | `DATETIME(0)` | 不随 Session Time Zone 转换 |
+| 无时区 `timestamp(ms)` | `DATETIME(3)` | 不随 Session Time Zone 转换 |
+| 无时区 `timestamp(us)`、`timestamp(ns)` | `DATETIME(6)` | 纳秒精度截断为微秒 |
+| 带时区 `timestamp` | `TIMESTAMPTZ(P)` | 保存时间点,按 Doris Session Time Zone 展示 |
+| `struct` | `STRUCT` | 子字段递归映射 |
+| `list`、`large_list`、`fixed_size_list` | `ARRAY` | 元素类型递归映射 |
+| `map` | `MAP` | Key 和 Value 类型递归映射 |
+
+## 使用说明
+
+时间戳的精度 `P` 按单位确定:秒为 0、毫秒为 3、微秒和纳秒为 6。与 Iceberg/Paimon 的纳秒映射不同,Lance 的纳秒时间戳仍映射为 
`DATETIME(6)` 或 `TIMESTAMPTZ(6)`,并截断到微秒。Decimal 要求 `1 <= P <= 76` 且 `0 <= S <= 
P`;负 scale 不支持。
+
+Doris 根据 `ARROW:extension:name` 元数据识别上述扩展类型,并校验其底层存储类型。JSON 扩展映射为 Doris 
`JSON`(内部类型 `JSONB`),普通 `utf8`/`large_utf8` 列即使包含 JSON 文本,仍映射为 `STRING`,不会自动变成 
JSON。支持 JSON 读取不代表任意 JSON 路径表达式都能下推;谓词下推范围需要单独确认。
+
+JSON、Duration、Null 和 BFloat16 读取需要 FE 与参与查询的 BE 均包含对应类型支持。旧构建可能仍显示不支持;升级时应同时确认 
Schema 识别和实际读取能力。
+
+当前不支持以下类型:
+
+- 非可空的 Arrow `null` 字段。
+- 未列为支持的 Arrow/Lance Extension 类型,例如 Lance Blob v2;已知扩展类型的底层存储与上表不匹配时也不支持。
+- 无法递归映射其子类型的复杂类型。
+- 保留了 Dictionary 标记的 Arrow Dictionary 类型。
+
+对于不支持的顶层列,Catalog 表的 `DESC` 和 Lance 文件 TVF 的 `DESC FUNCTION` 都会保留该列,并显示 
`unknown type: 
UNSUPPORTED_TYPE`。如果复杂类型的任一子字段无法映射,则整个顶层复杂列会标记为不支持。查询只投影支持的列仍可正常执行;当 SQL 
投影不支持的列时,Doris 会在分析阶段报错。例如:
+
+```sql
+SELECT * EXCEPT(blob_col)
+FROM lance_catalog.default.all_types;
+```
+
+:::note
+部分 Lance Java SDK 版本可能在读取 Schema 时丢失 Dictionary 标记,并将 Dictionary 
列暴露为物理索引类型。该结果不代表 Doris 已支持 Dictionary 的逻辑值,请勿依赖这一行为。
+:::
+
+实现依据:[LanceTypeConverter.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/lance/metadata/LanceTypeConverter.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog.mdx
index 24db7802fcd..66f27f5163a 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog.mdx
@@ -334,26 +334,7 @@ ORDER BY engine_name, entry_name;
 
 ## 列类型映射
 
-| Paimon Type                        | Doris Type    | Comment                 
               |
-| ---------------------------------- | ------------- | 
-------------------------------------- |
-| boolean                              | boolean                   |           
                                                                                
                                                                                
    |
-| tinyint                              | tinyint                   |           
                                                                                
                                                                                
    |
-| smallint                             | smallint                  |           
                                                                                
                                                                                
    |
-| integer                              | int                       |           
                                                                                
                                                                                
    |
-| bigint                               | bigint                    |           
                                                                                
                                                                                
    |
-| float                                | float                     |           
                                                                                
                                                                                
    |
-| double                               | double                    |           
                                                                                
                                                                                
    |
-| decimal(P, S)                        | decimal(P, S)             |           
                                                                                
                                                                                
    |
-| varchar                              | string                    |           
                                                                                
                                                                                
    |
-| char                                 | string                    |           
                                                                                
                                                                                
    |
-| binary, varbinary                    | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`,`enable.mapping.varbinary` 仅作为兼容标记,设为 `false` 不再恢复 `STRING` 
映射。4.1.5 之前可通过该属性选择旧映射。 |
-| date                                 | date                      |           
                                                                                
                                                                                
    |
-| timestamp\_without\_time\_zone     | datetime(N)               | 
会根据精度进行对应映射。如果精度大于 6,则最大映射到 6。(可能导致精度丢失)                                        
                                                        |
-| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(N)`,`enable.mapping.timestamp_tz` 仅作为兼容标记,设为 `false` 不再恢复 
`DATETIME` 映射。精度最高为 6,超过的部分会丢失。4.1.5 之前可通过该属性选择旧映射。 |
-| array                                | array                     |           
                                                                                
                                                                                
    |
-| map                                  | map                       |           
                                                                                
                                                                                
    |
-| row                                  | struct                    |           
                                                                                
                                                                                
    |
-| other                                | UNSUPPORTED               |           
                                                                                
                                                                                
    |
+请参阅[Paimon 与 Doris 数据类型映射](paimon-catalog/doris-type-mapping.md),了解 Doris 4.2 
的完整映射表、精度和不支持的类型。
 
 在两个 Paimon JNI Scanner 路径上,Doris 都会保留带引号的顶层列名和嵌套 `STRUCT` 字段名的原始大小写与字符。
 包含逗号(`region,code`)、井号(`nested#value`)、冒号(`colon:name`)、空格或 Unicode 字符的名称,除普通
@@ -367,14 +348,6 @@ SQL 标识符引用外无需额外转义。读取时列按不区分大小写的
 
 自 4.1.5 版本起,显式执行 `REFRESH TABLE`、`REFRESH DATABASE` 或 `REFRESH CATALOG` 时,也会使 
Paimon 的相应元数据缓存失效。外部表结构变更、删除后重建等操作后,可用刷新命令重新加载元数据;已开始执行的查询仍使用其已选定的快照。
 
-> 注:
->
-> 自 4.1.5 版本起,`timestamp_without_time_zone` 映射到 
`DATETIME(N)`,`timestamp_with_local_time_zone` 固定映射到 
`TIMESTAMPTZ(N)`。后者表示时间点,按会话 `time_zone` 展示;设为 
`enable.mapping.timestamp_tz=false` 不能恢复旧映射。
->
-> 可以在 `DESCRIBE table_name` 语句中的 Extra 列查看源类型是否带时区信息。如显示 
`WITH_TIMEZONE`,则表示源类型是带时区的类型(该功能自 3.0.8 版本支持)。
->
-> 4.0.3 后开始支持,可以映射 `timestamp_with_local_time_zone` 到 Doris 的 `timestamptz` 类型。
-
 ## 基础示例
 
 ### Hive Metastore
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..ebf11e5508b
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
@@ -0,0 +1,42 @@
+---
+{
+    "title": "Paimon 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Paimon 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)读取 Paimon 外部表 Schema 时的类型映射。写入外部表时还受目标表 Schema 
和写入能力限制,不能直接将读取映射反向使用。
+
+| Paimon Type                        | Doris Type    | Comment                 
               |
+| ---------------------------------- | ------------- | 
-------------------------------------- |
+| boolean                              | boolean                   |           
                                                                                
                                                                                
    |
+| tinyint                              | tinyint                   |           
                                                                                
                                                                                
    |
+| smallint                             | smallint                  |           
                                                                                
                                                                                
    |
+| integer                              | int                       |           
                                                                                
                                                                                
    |
+| bigint                               | bigint                    |           
                                                                                
                                                                                
    |
+| float                                | float                     |           
                                                                                
                                                                                
    |
+| double                               | double                    |           
                                                                                
                                                                                
    |
+| decimal(P, S)                        | decimal(P, S)             |           
                                                                                
                                                                                
    |
+| varchar(N) | VARCHAR(N) / STRING | `N <= 65533` 时为 `VARCHAR(N)`;更长时为 
`STRING`。 |
+| char(N) | CHAR(N) / STRING | `N <= 255` 时为 `CHAR(N)`;更长时为 `STRING`。 |
+| binary(N), varbinary(N) | VARBINARY(N) | 保留声明的字节长度。 |
+| date                                 | date                      |           
                                                                                
                                                                                
    |
+| timestamp_without_time_zone(P) | DATETIME(P) / TIMESTAMP_NS | `P <= 6` 时为 
`DATETIME(P)`;4.2 中 `P > 6` 时为 `TIMESTAMP_NS`,保留亚微秒精度。 |
+| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(N)`。精度最高为 6,超过的部分会丢失。 |
+| array                                | array                     |           
                                                                                
                                                                                
    |
+| map                                  | map                       |           
                                                                                
                                                                                
    |
+| row                                  | struct                    |           
                                                                                
                                                                                
    |
+| variant | VARIANT | 读取需要 FE 配置 `enable_variant_v2=true`。 |
+| time_without_time_zone | UNSUPPORTED | |
+| other                                | UNSUPPORTED               |           
                                                                                
                                                                                
    |
+
+## 使用说明
+
+复合类型的子字段递归使用上述映射。`TIMESTAMPTZ` 表示时间点,按会话 `time_zone` 展示。
+
+无时区时间戳和带本地时区时间戳的精度处理不同:前者在 4.2 中可保留纳秒,后者最多保留 6 位小数。`TIMESTAMP_NS` 的范围为 
`1677-09-21 00:12:43.145224192` 至 `2262-04-11 23:47:16.854775807`。
+
+执行 `DESCRIBE table_name` 时,Extra 列中的 `WITH_TIMEZONE` 表示源字段带时区信息。
+
+实现依据:[PaimonUtil.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonUtil.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/lance.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/lance.md
index 7bac698894f..f0dcc7b05e0 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/lance.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/lance.md
@@ -15,6 +15,8 @@ Lance 支持自 Apache Doris 4.2 版本开始提供。
 
 [Lance](https://docs.lancedb.com/lance) 是面向分析和 AI 场景的列式数据格式。Doris 可以通过 Lance 
Catalog,或通过 `s3()` 和 `local()` 表值函数(TVF)读取 Lance 数据集。
 
+Lance 的类型映射请参阅 [Doris 数据类型映射](../catalogs/lance-catalog/doris-type-mapping.md)。
+
 ## 支持的功能
 
 | 功能 | 支持情况 |
@@ -29,7 +31,8 @@ Lance 支持自 Apache Doris 4.2 版本开始提供。
 | Time Travel | 暂不支持 |
 | Full-Text Search / Hybrid Search | 暂不支持 |
 
-Catalog 配置、类型映射、谓词下推和向量检索的详细说明请参见 [Lance 
Catalog](../catalogs/lance-catalog.mdx)。
+<!-- The full Lance Catalog guide is currently available only in the 4.x 
documentation tree. -->
+Catalog 配置、谓词下推和向量检索的详细说明请参见 [Lance 
Catalog(4.x)](/zh-CN/docs/4.x/lakehouse/catalogs/lance-catalog)。
 
 ## 通过文件 TVF 查询 Lance 数据集
 
@@ -63,5 +66,5 @@ WHERE user_id > 100;
 
 ## 参考资料
 
-- [Lance Catalog](../catalogs/lance-catalog.mdx)
+- [Lance Catalog(4.x)](/zh-CN/docs/4.x/lakehouse/catalogs/lance-catalog)
 - [Lance 格式官方文档](https://docs.lancedb.com/lance)
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx
index 78538e5cf17..87e2b87daa1 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx
@@ -231,27 +231,7 @@ ORDER BY entry_name;
 
 ## 列类型映射
 
-| Hive Type     | Doris Type    | Comment                   |
-| ------------- | ------------- | ------------------------- |
-| boolean       | boolean       |                           |
-| tinyint       | tinyint       |                           |
-| smallint      | smallint      |                           |
-| int           | int           |                           |
-| bigint        | bigint        |                           |
-| date          | date          |                           |
-| timestamp     | datetime(6)   | 固定映射到精度为 6 的 datetime     |
-| float         | float         |                           |
-| double        | double        |                           |
-| decimal(P, S) | decimal(P, S) | 如果未指定精度,默认为 decimal(9, 0) |
-| char(N)       | char(N)       |                           |
-| varchar(N)    | varchar(N)    |                           |
-| string        | string        |                           |
-| binary        | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`,`enable.mapping.varbinary` 仅作为兼容标记,设为 `false` 不再恢复 `STRING` 
映射。4.1.5 之前可通过该属性选择旧映射。 |
-| timestamp with local time zone| TIMESTAMPTZ | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ`,`enable.mapping.timestamp_tz` 仅作为兼容标记,设为 `false` 不再恢复 `DATETIME` 
映射。精度最高为 6,超过的部分会丢失。4.1.5 之前可通过该属性选择旧映射。 |
-| array         | array         |                           |
-| map           | map           |                           |
-| struct        | struct        |                           |
-| other         | unsupported   |                           |
+请参阅[Hive 与 Doris 数据类型映射](hive-catalog/doris-type-mapping.md),了解 Doris 4.2 
的完整映射表、精度和不支持的类型。
 
 ## 基础示例
 ### Hive Metastore
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..c5cee00ca01
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
@@ -0,0 +1,39 @@
+---
+{
+    "title": "Hive 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Hive 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)读取 Hive 外部表 Schema 时的类型映射。写入外部表时还受目标表 Schema 
和写入能力限制,不能直接将读取映射反向使用。
+
+| Hive Type     | Doris Type    | Comment                   |
+| ------------- | ------------- | ------------------------- |
+| boolean       | boolean       |                           |
+| tinyint       | tinyint       |                           |
+| smallint      | smallint      |                           |
+| int           | int           |                           |
+| bigint        | bigint        |                           |
+| date          | date          |                           |
+| timestamp     | datetime(6)   | 固定映射到精度为 6 的 datetime     |
+| float         | float         |                           |
+| double        | double        |                           |
+| decimal(P, S) | decimal(P, S) | 如果未指定精度,默认为 decimal(9, 0) |
+| char(N)       | char(N)       |                           |
+| varchar(N)    | varchar(N)    |                           |
+| string        | string        |                           |
+| binary        | VARBINARY | 自 4.1.5 版本起固定映射为 `VARBINARY`。 |
+| timestamp with local time zone| TIMESTAMPTZ(6) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(6)`。精度最高为 6,超过的部分会丢失。 |
+| array         | array         |                           |
+| map           | map           |                           |
+| struct        | struct        |                           |
+| other         | unsupported   |                           |
+
+## 使用说明
+
+复合类型的子字段递归使用上述映射。`TIMESTAMPTZ` 表示时间点,按会话 `time_zone` 展示。
+
+Hive Catalog 从 Hive Metastore 的类型字符串推断 Schema。`timestamp` 映射为 
`DATETIME(6)`,不会因为底层文件保存了纳秒就自动映射为 `TIMESTAMP_NS`。`uniontype` 等未列为支持的类型不受支持。
+
+实现依据:[HiveMetaStoreClientHelper.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
index 258f07ccdb1..87717b080ee 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
@@ -262,33 +262,7 @@ ORDER BY entry_name;
 
 ## 列类型映射
 
-| Iceberg Type                           | Doris Type           | Comment      
         |
-| -------------------------------------- | -------------------- | 
--------------------- |
-| boolean                                | boolean              |              
         |
-| integer                                | int                  |              
         |
-| long                                   | bigint               |              
         |
-| float                                  | float                |              
         |
-| double                                 | double               |              
         |
-| decimal(P, S)                          | decimal(P, S)        |              
         |
-| date                                   | date                 |              
         |
-| timestamp (Timestamp without timezone) | datetime(6)          | 固定映射到精度为 6 的 
datetime |
-| timestamptz (Timestamp with timezone)  | TIMESTAMPTZ(6) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(6)`,`enable.mapping.timestamp_tz` 仅作为兼容标记,设为 `false` 不再恢复 
`DATETIME` 映射。精度最高为 6,超过的部分会丢失。4.1.5 之前可通过该属性选择旧映射。 |
-| fixed(N) | VARBINARY(N) | 自 4.1.5 版本起保留固定二进制宽度。 |
-| string                                 | string               |              
         |
-| binary                                 | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`,`enable.mapping.varbinary` 仅作为兼容标记,设为 `false` 不再恢复 `STRING` 
映射。4.1.5 之前可通过该属性选择旧映射。 |
-| uuid                                   | VARBINARY(16) | 自 4.1.5 版本起固定映射为 
`VARBINARY`,`enable.mapping.varbinary` 仅作为兼容标记,设为 `false` 不再恢复 `STRING` 
映射。4.1.5 之前可通过该属性选择旧映射。 |
-| struct                                 | struct(2.1.3 版本开始支持) |              
         |
-| map                                    | map(2.1.3 版本开始支持)    |              
         |
-| list                                   | array                |              
         |
-| other                                  | UNSUPPORTED          |              
         |
-
-> 注:
->
-> 自 4.1.5 版本起,`timestamp` 映射到 `DATETIME(6)`,`timestamptz` 固定映射到 
`TIMESTAMPTZ(6)`。后者表示时间点,按会话 `time_zone` 展示;`enable.mapping.timestamp_tz=false` 
不能恢复旧映射。
->
-> 可以在 `DESCRIBE table_name` 语句中的 Extra 列查看源类型是否带时区信息。如显示 
`WITH_TIMEZONE`,则表示源类型是带时区的类型(该功能自 3.1.0 版本支持)。
->
-> 4.0.3 后开始支持,可以映射 `timestamptz (Timestamp with timezone)` 到 Doris 的 
`timestamptz` 类型。
+请参阅[Iceberg 与 Doris 数据类型映射](iceberg-catalog/doris-type-mapping.md),了解 Doris 
4.2 的完整映射表、精度和不支持的类型。
 
 ### 列名大小写
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..a165509a8b9
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
@@ -0,0 +1,45 @@
+---
+{
+    "title": "Iceberg 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Iceberg 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)读取 Iceberg 外部表 Schema 时的类型映射。写入外部表时还受目标表 Schema 
和写入能力限制,不能直接将读取映射反向使用。
+
+| Iceberg Type                           | Doris Type           | Comment      
         |
+| -------------------------------------- | -------------------- | 
--------------------- |
+| boolean                                | boolean              |              
         |
+| integer                                | int                  |              
         |
+| long                                   | bigint               |              
         |
+| float                                  | float                |              
         |
+| double                                 | double               |              
         |
+| decimal(P, S)                          | decimal(P, S)        |              
         |
+| date                                   | date                 |              
         |
+| timestamp (Timestamp without timezone) | datetime(6)          | 固定映射到精度为 6 的 
datetime |
+| timestamptz (Timestamp with timezone)  | TIMESTAMPTZ(6) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(6)`。精度最高为 6,超过的部分会丢失。 |
+| fixed(N) | VARBINARY(N) | 自 4.1.5 版本起保留固定二进制宽度。 |
+| string                                 | string               |              
         |
+| binary                                 | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`。 |
+| uuid | UUID | 4.2 映射为原生 `UUID`;4.1.5 映射为 `VARBINARY(16)`。 |
+| struct                                 | struct(2.1.3 版本开始支持) |              
         |
+| map                                    | map(2.1.3 版本开始支持)    |              
         |
+| list                                   | array                |              
         |
+| timestamp_ns (without timezone) | TIMESTAMP_NS | 保留纳秒精度,不按会话时区转换。 |
+| timestamptz_ns (with timezone) | UNSUPPORTED | 不支持带时区的纳秒时间戳。 |
+| time | UNSUPPORTED | 不映射为 Doris `TIME`。 |
+| variant | VARIANT | Iceberg V3 Variant;读取需要参与查询的 BE 支持 Variant。 |
+| other                                  | UNSUPPORTED          |              
         |
+
+## 使用说明
+
+复合类型的子字段递归使用上述映射。`TIMESTAMPTZ` 表示时间点,按会话 `time_zone` 展示。
+
+`timestamp` 和 `timestamptz` 使用微秒精度;只有不带时区的 `timestamp_ns` 映射为 
`TIMESTAMP_NS`。`TIMESTAMP_NS` 的范围为 `1677-09-21 00:12:43.145224192` 至 
`2262-04-11 23:47:16.854775807`,超出范围的值不能表示。
+
+执行 `DESCRIBE table_name` 时,Extra 列中的 `WITH_TIMEZONE` 表示源字段带时区信息。
+
+向 Iceberg UUID 字段写入 Parquet 时会保留 UUID 逻辑标记,包括嵌套字段。
+
+实现依据:[IcebergUtils.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
index 3f802eb678a..18504b391dc 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
@@ -508,63 +508,7 @@ lance_catalog  default       vs_ivf_pq_f32  
embedding_ivf_pq_f32  3f9c2a1e-7b4d-
 
 ## 类型映射
 
-| Lance / Arrow 类型 | Doris 类型 | 说明 |
-|---|---|---|
-| `null`(可空字段) | `NULL` | 所有值均为 SQL NULL;非可空 Null 字段不支持 |
-| `duration(s/ms/us/ns)` | `BIGINT` | 保留字段声明单位的有符号计数,不统一转换为秒 |
-| `bool` | `BOOLEAN` | |
-| `int8` | `TINYINT` | |
-| `uint8` | `SMALLINT` | 无符号整数无损提升 |
-| `int16` | `SMALLINT` | |
-| `uint16` | `INT` | 无符号整数无损提升 |
-| `int32` | `INT` | |
-| `uint32` | `BIGINT` | 无符号整数无损提升 |
-| `int64` | `BIGINT` | |
-| `uint64` | `LARGEINT` | 无符号整数无损提升 |
-| `float16` | `FLOAT` | 提升为 32 位浮点数 |
-| `float32` | `FLOAT` | |
-| `float64` | `DOUBLE` | |
-| `decimal128(P,S)` | `DECIMAL(P,S)` | 最大精度为 38 |
-| `decimal256(P,S)` | `DECIMAL(P,S)` | 最大精度为 76 |
-| `utf8`、`large_utf8` | `TEXT` | |
-| `arrow.json` Extension | `JSON` | 底层类型为 `utf8` 或 `large_utf8` |
-| `lance.json` Extension | `JSON` | 底层类型为 `large_binary`;按 JSON 逻辑类型读取 |
-| `lance.bfloat16` Extension | `FLOAT` | 底层类型为 `fixed_size_binary(2)`;无损提升为 
Float32 |
-| `binary`、`large_binary` | `VARBINARY(2147483647)` | |
-| `fixed_size_binary(N)` | `VARBINARY(N)` | 保留固定字节宽度 |
-| `date32(day)`、`date64(ms)` | `DATE` | `date64` 应表示完整自然日 |
-| `time32(s)` | `TIME(0)` | |
-| `time32(ms)` | `TIME(3)` | |
-| `time64(us)`、`time64(ns)` | `TIME(6)` | 纳秒精度截断为微秒 |
-| 无时区 `timestamp(s)` | `DATETIME` | 不随 Session Time Zone 转换 |
-| 无时区 `timestamp(ms)` | `DATETIME(3)` | 不随 Session Time Zone 转换 |
-| 无时区 `timestamp(us)`、`timestamp(ns)` | `DATETIME(6)` | 纳秒精度截断为微秒 |
-| 带时区 `timestamp` | `TIMESTAMPTZ(0-6)` | 保存时间点,按 Doris Session Time Zone 展示 |
-| `struct` | `STRUCT` | 子字段递归映射 |
-| `list`、`large_list`、`fixed_size_list` | `ARRAY` | 元素类型递归映射 |
-| `map` | `MAP` | Key 和 Value 类型递归映射 |
-
-Doris 根据 `ARROW:extension:name` 元数据识别上述扩展类型,并校验其底层存储类型。JSON 扩展映射为 Doris 
`JSON`(内部类型 `JSONB`),普通 `utf8`/`large_utf8` 列即使包含 JSON 文本,仍映射为 `TEXT`,不会自动变成 
JSON。支持 JSON 读取不代表任意 JSON 路径表达式都能下推;下推范围见[谓词下推](#谓词下推)。
-
-JSON、Duration、Null 和 BFloat16 读取需要 FE 与参与查询的 BE 均包含对应类型支持。旧构建可能仍显示不支持;升级时应同时确认 
Schema 识别和实际读取能力。
-
-当前不支持以下类型:
-
-- 非可空的 Arrow `null` 字段。
-- 未列为支持的 Arrow/Lance Extension 类型,例如 Lance Blob v2;已知扩展类型的底层存储与上表不匹配时也不支持。
-- 无法递归映射其子类型的复杂类型。
-- 保留了 Dictionary 标记的 Arrow Dictionary 类型。
-
-对于不支持的顶层列,Catalog 表的 `DESC` 和 Lance 文件 TVF 的 `DESC FUNCTION` 都会保留该列,并显示 
`unknown type: 
UNSUPPORTED_TYPE`。如果复杂类型的任一子字段无法映射,则整个顶层复杂列会标记为不支持。查询只投影支持的列仍可正常执行;当 SQL 
投影不支持的列时,Doris 会在分析阶段报错。例如:
-
-```sql
-SELECT * EXCEPT(blob_col)
-FROM lance_catalog.default.all_types;
-```
-
-:::note
-部分 Lance Java SDK 版本可能在读取 Schema 时丢失 Dictionary 标记,并将 Dictionary 
列暴露为物理索引类型。该结果不代表 Doris 已支持 Dictionary 的逻辑值,请勿依赖这一行为。
-:::
+请参阅[Lance 与 Doris 数据类型映射](lance-catalog/doris-type-mapping.md),了解 Doris 4.2 
的完整映射表、精度和不支持的类型。
 
 ## 谓词下推
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..3870389831a
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
@@ -0,0 +1,73 @@
+---
+{
+    "title": "Lance 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Lance 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)中 Lance Catalog 和 Lance 文件 TVF 的读取类型映射。Doris 
不支持写入 Lance。
+
+| Lance / Arrow 类型 | Doris 类型 | 说明 |
+|---|---|---|
+| `null`(可空字段) | `NULL` | 所有值均为 SQL NULL;非可空 Null 字段不支持 |
+| `duration(s/ms/us/ns)` | `BIGINT` | 保留字段声明单位的有符号计数,不统一转换为秒 |
+| `bool` | `BOOLEAN` | |
+| `int8` | `TINYINT` | |
+| `uint8` | `SMALLINT` | 无符号整数无损提升 |
+| `int16` | `SMALLINT` | |
+| `uint16` | `INT` | 无符号整数无损提升 |
+| `int32` | `INT` | |
+| `uint32` | `BIGINT` | 无符号整数无损提升 |
+| `int64` | `BIGINT` | |
+| `uint64` | `LARGEINT` | 无符号整数无损提升 |
+| `float16` | `FLOAT` | 提升为 32 位浮点数 |
+| `float32` | `FLOAT` | |
+| `float64` | `DOUBLE` | |
+| `decimal128(P,S)` | `DECIMAL(P,S)` | 最大精度为 38 |
+| `decimal256(P,S)` | `DECIMAL(P,S)` | 最大精度为 76 |
+| `utf8`、`large_utf8` | `STRING` | |
+| `arrow.json` Extension | `JSON` | 底层类型为 `utf8` 或 `large_utf8` |
+| `lance.json` Extension | `JSON` | 底层类型为 `large_binary`;按 JSON 逻辑类型读取 |
+| `lance.bfloat16` Extension | `FLOAT` | 底层类型为 `fixed_size_binary(2)`;无损提升为 
Float32 |
+| `binary`、`large_binary` | `VARBINARY(2147483647)` | |
+| `fixed_size_binary(N)` | `VARBINARY(N)` | 保留固定字节宽度 |
+| `date32(day)`、`date64(ms)` | `DATE` | `date64` 应表示完整自然日 |
+| `time32(s)` | `TIME(0)` | |
+| `time32(ms)` | `TIME(3)` | |
+| `time64(us)`、`time64(ns)` | `TIME(6)` | 纳秒精度截断为微秒 |
+| 无时区 `timestamp(s)` | `DATETIME(0)` | 不随 Session Time Zone 转换 |
+| 无时区 `timestamp(ms)` | `DATETIME(3)` | 不随 Session Time Zone 转换 |
+| 无时区 `timestamp(us)`、`timestamp(ns)` | `DATETIME(6)` | 纳秒精度截断为微秒 |
+| 带时区 `timestamp` | `TIMESTAMPTZ(P)` | 保存时间点,按 Doris Session Time Zone 展示 |
+| `struct` | `STRUCT` | 子字段递归映射 |
+| `list`、`large_list`、`fixed_size_list` | `ARRAY` | 元素类型递归映射 |
+| `map` | `MAP` | Key 和 Value 类型递归映射 |
+
+## 使用说明
+
+时间戳的精度 `P` 按单位确定:秒为 0、毫秒为 3、微秒和纳秒为 6。与 Iceberg/Paimon 的纳秒映射不同,Lance 的纳秒时间戳仍映射为 
`DATETIME(6)` 或 `TIMESTAMPTZ(6)`,并截断到微秒。Decimal 要求 `1 <= P <= 76` 且 `0 <= S <= 
P`;负 scale 不支持。
+
+Doris 根据 `ARROW:extension:name` 元数据识别上述扩展类型,并校验其底层存储类型。JSON 扩展映射为 Doris 
`JSON`(内部类型 `JSONB`),普通 `utf8`/`large_utf8` 列即使包含 JSON 文本,仍映射为 `STRING`,不会自动变成 
JSON。支持 JSON 读取不代表任意 JSON 路径表达式都能下推;下推范围见[谓词下推](../lance-catalog.mdx#谓词下推)。
+
+JSON、Duration、Null 和 BFloat16 读取需要 FE 与参与查询的 BE 均包含对应类型支持。旧构建可能仍显示不支持;升级时应同时确认 
Schema 识别和实际读取能力。
+
+当前不支持以下类型:
+
+- 非可空的 Arrow `null` 字段。
+- 未列为支持的 Arrow/Lance Extension 类型,例如 Lance Blob v2;已知扩展类型的底层存储与上表不匹配时也不支持。
+- 无法递归映射其子类型的复杂类型。
+- 保留了 Dictionary 标记的 Arrow Dictionary 类型。
+
+对于不支持的顶层列,Catalog 表的 `DESC` 和 Lance 文件 TVF 的 `DESC FUNCTION` 都会保留该列,并显示 
`unknown type: 
UNSUPPORTED_TYPE`。如果复杂类型的任一子字段无法映射,则整个顶层复杂列会标记为不支持。查询只投影支持的列仍可正常执行;当 SQL 
投影不支持的列时,Doris 会在分析阶段报错。例如:
+
+```sql
+SELECT * EXCEPT(blob_col)
+FROM lance_catalog.default.all_types;
+```
+
+:::note
+部分 Lance Java SDK 版本可能在读取 Schema 时丢失 Dictionary 标记,并将 Dictionary 
列暴露为物理索引类型。该结果不代表 Doris 已支持 Dictionary 的逻辑值,请勿依赖这一行为。
+:::
+
+实现依据:[LanceTypeConverter.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/lance/metadata/LanceTypeConverter.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx
index 47942b0e2c9..e61f6657828 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx
@@ -334,26 +334,7 @@ ORDER BY entry_name;
 
 ## 列类型映射
 
-| Paimon Type                        | Doris Type    | Comment                 
               |
-| ---------------------------------- | ------------- | 
-------------------------------------- |
-| boolean                              | boolean                   |           
                                                                                
                                                                                
    |
-| tinyint                              | tinyint                   |           
                                                                                
                                                                                
    |
-| smallint                             | smallint                  |           
                                                                                
                                                                                
    |
-| integer                              | int                       |           
                                                                                
                                                                                
    |
-| bigint                               | bigint                    |           
                                                                                
                                                                                
    |
-| float                                | float                     |           
                                                                                
                                                                                
    |
-| double                               | double                    |           
                                                                                
                                                                                
    |
-| decimal(P, S)                        | decimal(P, S)             |           
                                                                                
                                                                                
    |
-| varchar                              | string                    |           
                                                                                
                                                                                
    |
-| char                                 | string                    |           
                                                                                
                                                                                
    |
-| binary, varbinary                    | VARBINARY | 自 4.1.5 版本起固定映射为 
`VARBINARY`,`enable.mapping.varbinary` 仅作为兼容标记,设为 `false` 不再恢复 `STRING` 
映射。4.1.5 之前可通过该属性选择旧映射。 |
-| date                                 | date                      |           
                                                                                
                                                                                
    |
-| timestamp\_without\_time\_zone     | datetime(N)               | 
会根据精度进行对应映射。如果精度大于 6,则最大映射到 6。(可能导致精度丢失)                                        
                                                        |
-| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(N)`,`enable.mapping.timestamp_tz` 仅作为兼容标记,设为 `false` 不再恢复 
`DATETIME` 映射。精度最高为 6,超过的部分会丢失。4.1.5 之前可通过该属性选择旧映射。 |
-| array                                | array                     |           
                                                                                
                                                                                
    |
-| map                                  | map                       |           
                                                                                
                                                                                
    |
-| row                                  | struct                    |           
                                                                                
                                                                                
    |
-| other                                | UNSUPPORTED               |           
                                                                                
                                                                                
    |
+请参阅[Paimon 与 Doris 数据类型映射](paimon-catalog/doris-type-mapping.md),了解 Doris 4.2 
的完整映射表、精度和不支持的类型。
 
 在两个 Paimon JNI Scanner 路径上,Doris 都会保留带引号的顶层列名和嵌套 `STRUCT` 字段名的原始大小写与字符。
 包含逗号(`region,code`)、井号(`nested#value`)、冒号(`colon:name`)、空格或 Unicode 字符的名称,除普通
@@ -367,14 +348,6 @@ SQL 标识符引用外无需额外转义。读取时列按不区分大小写的
 
 :::
 
-> 注:
->
-> 自 4.1.5 版本起,`timestamp_without_time_zone` 映射到 
`DATETIME(N)`,`timestamp_with_local_time_zone` 固定映射到 
`TIMESTAMPTZ(N)`。后者表示时间点,按会话 `time_zone` 展示;设为 
`enable.mapping.timestamp_tz=false` 不能恢复旧映射。
->
-> 可以在 `DESCRIBE table_name` 语句中的 Extra 列查看源类型是否带时区信息。如显示 
`WITH_TIMEZONE`,则表示源类型是带时区的类型(该功能自 3.0.8 版本支持)。
->
-> 4.0.3 后开始支持,可以映射 `timestamp_with_local_time_zone` 到 Doris 的 `timestamptz` 类型。
-
 ## 基础示例
 
 ### Hive Metastore
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..ebf11e5508b
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
@@ -0,0 +1,42 @@
+---
+{
+    "title": "Paimon 与 Doris 数据类型映射",
+    "sidebar_label": "Doris 数据类型映射",
+    "description": "Doris 4.2 Paimon 类型映射参考:数据类型、精度、嵌套类型和不支持的类型。"
+}
+---
+
+以下表格描述 Doris 4.2(`branch-4.2`)读取 Paimon 外部表 Schema 时的类型映射。写入外部表时还受目标表 Schema 
和写入能力限制,不能直接将读取映射反向使用。
+
+| Paimon Type                        | Doris Type    | Comment                 
               |
+| ---------------------------------- | ------------- | 
-------------------------------------- |
+| boolean                              | boolean                   |           
                                                                                
                                                                                
    |
+| tinyint                              | tinyint                   |           
                                                                                
                                                                                
    |
+| smallint                             | smallint                  |           
                                                                                
                                                                                
    |
+| integer                              | int                       |           
                                                                                
                                                                                
    |
+| bigint                               | bigint                    |           
                                                                                
                                                                                
    |
+| float                                | float                     |           
                                                                                
                                                                                
    |
+| double                               | double                    |           
                                                                                
                                                                                
    |
+| decimal(P, S)                        | decimal(P, S)             |           
                                                                                
                                                                                
    |
+| varchar(N) | VARCHAR(N) / STRING | `N <= 65533` 时为 `VARCHAR(N)`;更长时为 
`STRING`。 |
+| char(N) | CHAR(N) / STRING | `N <= 255` 时为 `CHAR(N)`;更长时为 `STRING`。 |
+| binary(N), varbinary(N) | VARBINARY(N) | 保留声明的字节长度。 |
+| date                                 | date                      |           
                                                                                
                                                                                
    |
+| timestamp_without_time_zone(P) | DATETIME(P) / TIMESTAMP_NS | `P <= 6` 时为 
`DATETIME(P)`;4.2 中 `P > 6` 时为 `TIMESTAMP_NS`,保留亚微秒精度。 |
+| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | 自 4.1.5 版本起固定映射为 
`TIMESTAMPTZ(N)`。精度最高为 6,超过的部分会丢失。 |
+| array                                | array                     |           
                                                                                
                                                                                
    |
+| map                                  | map                       |           
                                                                                
                                                                                
    |
+| row                                  | struct                    |           
                                                                                
                                                                                
    |
+| variant | VARIANT | 读取需要 FE 配置 `enable_variant_v2=true`。 |
+| time_without_time_zone | UNSUPPORTED | |
+| other                                | UNSUPPORTED               |           
                                                                                
                                                                                
    |
+
+## 使用说明
+
+复合类型的子字段递归使用上述映射。`TIMESTAMPTZ` 表示时间点,按会话 `time_zone` 展示。
+
+无时区时间戳和带本地时区时间戳的精度处理不同:前者在 4.2 中可保留纳秒,后者最多保留 6 位小数。`TIMESTAMP_NS` 的范围为 
`1677-09-21 00:12:43.145224192` 至 `2262-04-11 23:47:16.854775807`。
+
+执行 `DESCRIBE table_name` 时,Extra 列中的 `WITH_TIMEZONE` 表示源字段带时区信息。
+
+实现依据:[PaimonUtil.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonUtil.java)(`branch-4.2`)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/file-formats/lance.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/file-formats/lance.md
index 7bac698894f..227635fefb7 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/file-formats/lance.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/file-formats/lance.md
@@ -15,6 +15,8 @@ Lance 支持自 Apache Doris 4.2 版本开始提供。
 
 [Lance](https://docs.lancedb.com/lance) 是面向分析和 AI 场景的列式数据格式。Doris 可以通过 Lance 
Catalog,或通过 `s3()` 和 `local()` 表值函数(TVF)读取 Lance 数据集。
 
+Lance 的类型映射请参阅 [Doris 数据类型映射](../catalogs/lance-catalog/doris-type-mapping.md)。
+
 ## 支持的功能
 
 | 功能 | 支持情况 |
diff --git a/sidebars.ts b/sidebars.ts
index 7a4679125fe..2473ec3d403 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -705,12 +705,18 @@ const sidebars: SidebarsConfig = {
                     label: 'Data Catalogs',
                     link: {type: 'doc', id: 'lakehouse/catalog-overview'},
                     items: [
-                        'lakehouse/catalogs/hive-catalog',
+                        {
+                            type: 'category',
+                            label: 'Hive Catalog',
+                            link: {type: 'doc', id: 
'lakehouse/catalogs/hive-catalog'},
+                            items: 
['lakehouse/catalogs/hive-catalog/doris-type-mapping'],
+                        },
                         {
                             type: 'category',
                             label: 'Iceberg Catalog',
                             link: {type: 'doc', id: 
'lakehouse/catalogs/iceberg-catalog'},
                             items: [
+                                
'lakehouse/catalogs/iceberg-catalog/doris-type-mapping',
                                 
'lakehouse/best-practices/doris-iceberg-capability-matrix',
                                 'lakehouse/best-practices/doris-iceberg',
                                 'lakehouse/best-practices/doris-aws-s3tables',
@@ -731,11 +737,17 @@ const sidebars: SidebarsConfig = {
                             label: 'Paimon Catalog',
                             link: {type: 'doc', id: 
'lakehouse/catalogs/paimon-catalog'},
                             items: [
+                                
'lakehouse/catalogs/paimon-catalog/doris-type-mapping',
                                 
'lakehouse/best-practices/doris-paimon-capability-matrix',
                                 'lakehouse/best-practices/doris-paimon',
                                 'lakehouse/best-practices/doris-dlf-paimon',
                             ],
                         },
+                        {
+                            type: 'category',
+                            label: 'Lance Catalog',
+                            items: 
['lakehouse/catalogs/lance-catalog/doris-type-mapping'],
+                        },
                         'lakehouse/catalogs/fluss-catalog',
                         {
                             type: 'category',
diff --git a/versioned_docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx 
b/versioned_docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx
index 940cbdf4361..ad43d74fd69 100644
--- a/versioned_docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx
+++ b/versioned_docs/version-4.x/lakehouse/catalogs/hive-catalog.mdx
@@ -215,28 +215,7 @@ The optional Catalog property `hive.parquet.time-zone` 
specifies the writer time
 
 ## Column Type Mapping
 
-| Hive Type     | Doris Type    | Comment                                      
  |
-| ------------- | ------------- | 
---------------------------------------------- |
-| boolean       | boolean       |                                              
  |
-| tinyint       | tinyint       |                                              
  |
-| smallint      | smallint      |                                              
  |
-| int           | int           |                                              
  |
-| bigint        | bigint        |                                              
  |
-| date          | date          |                                              
  |
-| timestamp     | datetime(6)   | Mapped to datetime with precision 6          
  |
-| float         | float         |                                              
  |
-| double        | double        |                                              
  |
-| decimal(P, S) | decimal(P, S) | Defaults to decimal(9, 0) if precision not 
specified |
-| char(N)       | char(N)       |                                              
  |
-| varchar(N)    | varchar(N)    |                                              
  |
-| string        | string        |                                              
  |
-| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. The 
`enable.mapping.varbinary` property is retained for compatibility; setting it 
to `false` no longer restores the `STRING` mapping. Earlier versions allow the 
property to select the legacy mapping. |
-| timestamp with local time zone | TIMESTAMPTZ | Since 4.1.5, this type always 
maps to `TIMESTAMPTZ`. The `enable.mapping.timestamp_tz` property is retained 
for compatibility; setting it to `false` no longer restores the `DATETIME` 
mapping. Precision is capped at 6, so higher precision is lost. Earlier 
versions allow the property to select the legacy mapping. |
-| array         | array         |                                              
  |
-| map           | map           |                                              
  |
-| struct        | struct        |                                              
  |
-| other         | unsupported   |                                              
  |
-
+See [Hive to Doris Data Type Mapping](hive-catalog/doris-type-mapping.md) for 
the complete Doris 4.2 mapping table, precision rules, and unsupported types.
 
 ## Examples
 ### Hive Metastore
diff --git 
a/versioned_docs/version-4.x/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
 
b/versioned_docs/version-4.x/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..baaf40f2f85
--- /dev/null
+++ 
b/versioned_docs/version-4.x/lakehouse/catalogs/hive-catalog/doris-type-mapping.md
@@ -0,0 +1,39 @@
+---
+{
+    "title": "Hive to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Hive type mapping reference covering data types, 
precision, nested types, and unsupported types."
+}
+---
+
+The following table describes how Doris 4.2 (`branch-4.2`) maps Hive 
external-table schemas when reading. Writes also depend on the target schema 
and supported write operations; the read mapping is not an automatic inverse 
mapping for writes.
+
+| Hive Type     | Doris Type    | Comment                                      
  |
+| ------------- | ------------- | 
---------------------------------------------- |
+| boolean       | boolean       |                                              
  |
+| tinyint       | tinyint       |                                              
  |
+| smallint      | smallint      |                                              
  |
+| int           | int           |                                              
  |
+| bigint        | bigint        |                                              
  |
+| date          | date          |                                              
  |
+| timestamp     | datetime(6)   | Mapped to datetime with precision 6          
  |
+| float         | float         |                                              
  |
+| double        | double        |                                              
  |
+| decimal(P, S) | decimal(P, S) | Defaults to decimal(9, 0) if precision not 
specified |
+| char(N)       | char(N)       |                                              
  |
+| varchar(N)    | varchar(N)    |                                              
  |
+| string        | string        |                                              
  |
+| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. |
+| timestamp with local time zone | TIMESTAMPTZ(6) | Since 4.1.5, this type 
always maps to `TIMESTAMPTZ(6)`. Precision is capped at 6, so higher precision 
is lost. |
+| array         | array         |                                              
  |
+| map           | map           |                                              
  |
+| struct        | struct        |                                              
  |
+| other         | unsupported   |                                              
  |
+
+## Usage Notes
+
+Child fields of complex types use the same mappings recursively. `TIMESTAMPTZ` 
represents an instant displayed in the session `time_zone`.
+
+Hive Catalog derives schemas from Hive Metastore type strings. `timestamp` 
maps to `DATETIME(6)`; nanosecond data in the underlying file does not 
automatically change the mapping to `TIMESTAMP_NS`. Types not listed as 
supported, including `uniontype`, are unsupported.
+
+Implementation reference: 
[HiveMetaStoreClientHelper.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java)
 (`branch-4.2`).
diff --git a/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx 
b/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
index 09af8167a25..a6f206d48d3 100644
--- a/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
+++ b/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
@@ -242,33 +242,7 @@ Since version 4.1.4, the Iceberg identity partition 
metadata is delivered with e
 
 ## Column Type Mapping
 
-| Iceberg Type                           | Doris Type           | Comment      
                           |
-| -------------------------------------- | -------------------- | 
--------------------------------------- |
-| boolean                                | boolean              |              
                           |
-| integer                                | int                  |              
                           |
-| long                                   | bigint               |              
                           |
-| float                                  | float                |              
                           |
-| double                                 | double               |              
                           |
-| decimal(P, S)                          | decimal(P, S)        |              
                           |
-| date                                   | date                 |              
                           |
-| timestamp (Timestamp without timezone) | datetime(6)          | Mapped to 
datetime with precision 6     |
-| timestamptz (Timestamp with timezone) | TIMESTAMPTZ(6) | Since 4.1.5, this 
type always maps to `TIMESTAMPTZ(6)`. The `enable.mapping.timestamp_tz` 
property is retained for compatibility; setting it to `false` no longer 
restores the `DATETIME` mapping. Precision is capped at 6, so higher precision 
is lost. Earlier versions allow the property to select the legacy mapping. |
-| fixed(N) | VARBINARY(N) | Since 4.1.5, the fixed binary width is preserved. |
-| string                                 | string               |              
                           |
-| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. The 
`enable.mapping.varbinary` property is retained for compatibility; setting it 
to `false` no longer restores the `STRING` mapping. Earlier versions allow the 
property to select the legacy mapping. |
-| uuid | VARBINARY(16) | Since 4.1.5, this type always maps to `VARBINARY`. 
The `enable.mapping.varbinary` property is retained for compatibility; setting 
it to `false` no longer restores the `STRING` mapping. Earlier versions allow 
the property to select the legacy mapping. |
-| struct                                 | struct (supported from version 
2.1.3) |                                         |
-| map                                    | map (supported from version 2.1.3)  
  |                                         |
-| list                                   | array                |              
                           |
-| other                                  | UNSUPPORTED          |              
                           |
-
-> Note:
->
-> Since 4.1.5, `timestamp` maps to `DATETIME(6)` and `timestamptz` always maps 
to `TIMESTAMPTZ(6)`. The latter represents an instant displayed in the session 
`time_zone`; `enable.mapping.timestamp_tz=false` cannot restore the old mapping.
->
-> You can check whether the source type has timezone information in the Extra 
column of the `DESCRIBE table_name` statement. If it shows `WITH_TIMEZONE`, it 
indicates that the source type is a timezone-aware type. (Supported since 
3.1.0).
->
-> Supported since version 4.0.3, `timestamptz` (timestamp with time zone) can 
be mapped to the Doris `timestamptz` type.
+See [Iceberg to Doris Data Type 
Mapping](iceberg-catalog/doris-type-mapping.md) for the complete Doris 4.2 
mapping table, precision rules, and unsupported types.
 
 ### Column Name Case
 
diff --git 
a/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
 
b/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..d5080921849
--- /dev/null
+++ 
b/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog/doris-type-mapping.md
@@ -0,0 +1,45 @@
+---
+{
+    "title": "Iceberg to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Iceberg type mapping reference covering data 
types, precision, nested types, and unsupported types."
+}
+---
+
+The following table describes how Doris 4.2 (`branch-4.2`) maps Iceberg 
external-table schemas when reading. Writes also depend on the target schema 
and supported write operations; the read mapping is not an automatic inverse 
mapping for writes.
+
+| Iceberg Type                           | Doris Type           | Comment      
                           |
+| -------------------------------------- | -------------------- | 
--------------------------------------- |
+| boolean                                | boolean              |              
                           |
+| integer                                | int                  |              
                           |
+| long                                   | bigint               |              
                           |
+| float                                  | float                |              
                           |
+| double                                 | double               |              
                           |
+| decimal(P, S)                          | decimal(P, S)        |              
                           |
+| date                                   | date                 |              
                           |
+| timestamp (Timestamp without timezone) | datetime(6)          | Mapped to 
datetime with precision 6     |
+| timestamptz (Timestamp with timezone) | TIMESTAMPTZ(6) | Since 4.1.5, this 
type always maps to `TIMESTAMPTZ(6)`. Precision is capped at 6, so higher 
precision is lost. |
+| fixed(N) | VARBINARY(N) | Since 4.1.5, the fixed binary width is preserved. |
+| string                                 | string               |              
                           |
+| binary | VARBINARY | Since 4.1.5, this type always maps to `VARBINARY`. |
+| uuid | UUID | Native `UUID` in 4.2; Doris 4.1.5 maps this to 
`VARBINARY(16)`. |
+| struct                                 | struct (supported from version 
2.1.3) |                                         |
+| map                                    | map (supported from version 2.1.3)  
  |                                         |
+| list                                   | array                |              
                           |
+| timestamp_ns (without timezone) | TIMESTAMP_NS | Preserves nanosecond 
precision without session time-zone conversion. |
+| timestamptz_ns (with timezone) | UNSUPPORTED | Timezone-aware nanosecond 
timestamps are unsupported. |
+| time | UNSUPPORTED | Does not map to Doris `TIME`. |
+| variant | VARIANT | Iceberg V3 Variant; participating BEs must support 
Variant reads. |
+| other                                  | UNSUPPORTED          |              
                           |
+
+## Usage Notes
+
+Child fields of complex types use the same mappings recursively. `TIMESTAMPTZ` 
represents an instant displayed in the session `time_zone`.
+
+`timestamp` and `timestamptz` use microsecond precision. Only timezone-naive 
`timestamp_ns` maps to `TIMESTAMP_NS`. Its range is `1677-09-21 
00:12:43.145224192` through `2262-04-11 23:47:16.854775807`; values outside 
this range cannot be represented.
+
+In `DESCRIBE table_name`, `WITH_TIMEZONE` in the Extra column identifies a 
timezone-aware source field.
+
+Parquet writes to Iceberg UUID fields retain the UUID logical annotation, 
including nested fields.
+
+Implementation reference: 
[IcebergUtils.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java)
 (`branch-4.2`).
diff --git a/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx 
b/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
index 1e20a20b4a4..b403731678b 100644
--- a/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
+++ b/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
@@ -508,63 +508,7 @@ lance_catalog  default       vs_ivf_pq_f32  
embedding_ivf_pq_f32  3f9c2a1e-7b4d-
 
 ## Type Mapping
 
-| Lance / Arrow Type | Doris Type | Description |
-|---|---|---|
-| `null` (nullable field) | `NULL` | Every value is SQL NULL; non-nullable 
Null fields are unsupported |
-| `duration(s/ms/us/ns)` | `BIGINT` | Preserves the signed count in the 
declared unit; does not normalize to seconds |
-| `bool` | `BOOLEAN` | |
-| `int8` | `TINYINT` | |
-| `uint8` | `SMALLINT` | Losslessly widened unsigned integer |
-| `int16` | `SMALLINT` | |
-| `uint16` | `INT` | Losslessly widened unsigned integer |
-| `int32` | `INT` | |
-| `uint32` | `BIGINT` | Losslessly widened unsigned integer |
-| `int64` | `BIGINT` | |
-| `uint64` | `LARGEINT` | Losslessly widened unsigned integer |
-| `float16` | `FLOAT` | Widened to a 32-bit floating-point value |
-| `float32` | `FLOAT` | |
-| `float64` | `DOUBLE` | |
-| `decimal128(P,S)` | `DECIMAL(P,S)` | Maximum precision is 38 |
-| `decimal256(P,S)` | `DECIMAL(P,S)` | Maximum precision is 76 |
-| `utf8`, `large_utf8` | `TEXT` | |
-| `arrow.json` Extension | `JSON` | Requires `utf8` or `large_utf8` storage |
-| `lance.json` Extension | `JSON` | Requires `large_binary` storage; read as 
the logical JSON type |
-| `lance.bfloat16` Extension | `FLOAT` | Requires `fixed_size_binary(2)` 
storage; widened to Float32 without precision loss |
-| `binary`, `large_binary` | `VARBINARY(2147483647)` | |
-| `fixed_size_binary(N)` | `VARBINARY(N)` | Preserves the fixed byte width |
-| `date32(day)`, `date64(ms)` | `DATE` | A `date64` value must represent a 
complete calendar day |
-| `time32(s)` | `TIME(0)` | |
-| `time32(ms)` | `TIME(3)` | |
-| `time64(us)`, `time64(ns)` | `TIME(6)` | Nanosecond precision is truncated 
to microseconds |
-| Timezone-naive `timestamp(s)` | `DATETIME` | Not converted according to the 
Session Time Zone |
-| Timezone-naive `timestamp(ms)` | `DATETIME(3)` | Not converted according to 
the Session Time Zone |
-| Timezone-naive `timestamp(us)`, `timestamp(ns)` | `DATETIME(6)` | Nanosecond 
precision is truncated to microseconds |
-| Timezone-aware `timestamp` | `TIMESTAMPTZ(0-6)` | Preserves the instant and 
displays it in the Doris Session Time Zone |
-| `struct` | `STRUCT` | Child fields are mapped recursively |
-| `list`, `large_list`, `fixed_size_list` | `ARRAY` | Element types are mapped 
recursively |
-| `map` | `MAP` | Key and value types are mapped recursively |
-
-Doris recognizes these extensions through `ARROW:extension:name` metadata and 
validates their storage types. JSON extensions map to Doris `JSON` (internally 
`JSONB`). An ordinary `utf8`/`large_utf8` column containing JSON text still 
maps to `TEXT`; its contents do not automatically change its type. JSON read 
support does not imply pushdown of arbitrary JSON path expressions; see 
[Predicate Pushdown](#predicate-pushdown) for the supported scope.
-
-Reading JSON, Duration, Null, and BFloat16 requires the corresponding type 
support in both the FE and the BEs serving the query. Older builds may still 
report these types as unsupported; verify schema discovery and actual reads 
when upgrading.
-
-The following types are not currently supported:
-
-- Non-nullable Arrow `null` fields.
-- Arrow/Lance Extension types not listed as supported, such as Lance Blob v2; 
known extensions with incompatible storage types are also unsupported.
-- Complex types whose child types cannot be mapped recursively.
-- Arrow Dictionary types that preserve the Dictionary marker.
-
-For an unsupported top-level column, `DESC` on a Catalog table and `DESC 
FUNCTION` on a Lance file TVF both preserve the column and display `unknown 
type: UNSUPPORTED_TYPE`. If any child of a complex type cannot be mapped, the 
whole top-level complex column is marked unsupported. Queries can still project 
only supported columns. Doris reports an error during analysis when SQL 
projects an unsupported column. For example:
-
-```sql
-SELECT * EXCEPT(blob_col)
-FROM lance_catalog.default.all_types;
-```
-
-:::note
-Some Lance Java SDK versions may lose the Dictionary marker while reading a 
Schema and expose a Dictionary column as its physical index type. This behavior 
does not mean that Doris supports the logical Dictionary values and must not be 
relied upon.
-:::
+See [Lance to Doris Data Type Mapping](lance-catalog/doris-type-mapping.md) 
for the complete Doris 4.2 mapping table, precision rules, and unsupported 
types.
 
 ## Predicate Pushdown
 
diff --git 
a/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
 
b/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..74f65ceea6c
--- /dev/null
+++ 
b/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog/doris-type-mapping.md
@@ -0,0 +1,73 @@
+---
+{
+    "title": "Lance to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Lance type mapping reference covering data 
types, precision, nested types, and unsupported types."
+}
+---
+
+The following table describes read type mappings for Lance Catalog and Lance 
file TVFs in Doris 4.2 (`branch-4.2`). Doris does not support writing to Lance.
+
+| Lance / Arrow Type | Doris Type | Description |
+|---|---|---|
+| `null` (nullable field) | `NULL` | Every value is SQL NULL; non-nullable 
Null fields are unsupported |
+| `duration(s/ms/us/ns)` | `BIGINT` | Preserves the signed count in the 
declared unit; does not normalize to seconds |
+| `bool` | `BOOLEAN` | |
+| `int8` | `TINYINT` | |
+| `uint8` | `SMALLINT` | Losslessly widened unsigned integer |
+| `int16` | `SMALLINT` | |
+| `uint16` | `INT` | Losslessly widened unsigned integer |
+| `int32` | `INT` | |
+| `uint32` | `BIGINT` | Losslessly widened unsigned integer |
+| `int64` | `BIGINT` | |
+| `uint64` | `LARGEINT` | Losslessly widened unsigned integer |
+| `float16` | `FLOAT` | Widened to a 32-bit floating-point value |
+| `float32` | `FLOAT` | |
+| `float64` | `DOUBLE` | |
+| `decimal128(P,S)` | `DECIMAL(P,S)` | Maximum precision is 38 |
+| `decimal256(P,S)` | `DECIMAL(P,S)` | Maximum precision is 76 |
+| `utf8`, `large_utf8` | `STRING` | |
+| `arrow.json` Extension | `JSON` | Requires `utf8` or `large_utf8` storage |
+| `lance.json` Extension | `JSON` | Requires `large_binary` storage; read as 
the logical JSON type |
+| `lance.bfloat16` Extension | `FLOAT` | Requires `fixed_size_binary(2)` 
storage; widened to Float32 without precision loss |
+| `binary`, `large_binary` | `VARBINARY(2147483647)` | |
+| `fixed_size_binary(N)` | `VARBINARY(N)` | Preserves the fixed byte width |
+| `date32(day)`, `date64(ms)` | `DATE` | A `date64` value must represent a 
complete calendar day |
+| `time32(s)` | `TIME(0)` | |
+| `time32(ms)` | `TIME(3)` | |
+| `time64(us)`, `time64(ns)` | `TIME(6)` | Nanosecond precision is truncated 
to microseconds |
+| Timezone-naive `timestamp(s)` | `DATETIME(0)` | Not converted according to 
the Session Time Zone |
+| Timezone-naive `timestamp(ms)` | `DATETIME(3)` | Not converted according to 
the Session Time Zone |
+| Timezone-naive `timestamp(us)`, `timestamp(ns)` | `DATETIME(6)` | Nanosecond 
precision is truncated to microseconds |
+| Timezone-aware `timestamp` | `TIMESTAMPTZ(P)` | Preserves the instant and 
displays it in the Doris Session Time Zone |
+| `struct` | `STRUCT` | Child fields are mapped recursively |
+| `list`, `large_list`, `fixed_size_list` | `ARRAY` | Element types are mapped 
recursively |
+| `map` | `MAP` | Key and value types are mapped recursively |
+
+## Usage Notes
+
+Timestamp precision `P` is 0 for seconds, 3 for milliseconds, and 6 for 
microseconds or nanoseconds. Unlike the Iceberg/Paimon nanosecond mappings, 
Lance nanosecond timestamps still map to `DATETIME(6)` or `TIMESTAMPTZ(6)` and 
are truncated to microseconds. Decimals require `1 <= P <= 76` and `0 <= S <= 
P`; negative scales are unsupported.
+
+Doris recognizes these extensions through `ARROW:extension:name` metadata and 
validates their storage types. JSON extensions map to Doris `JSON` (internally 
`JSONB`). An ordinary `utf8`/`large_utf8` column containing JSON text still 
maps to `STRING`; its contents do not automatically change its type. JSON read 
support does not imply pushdown of arbitrary JSON path expressions; see 
[Predicate Pushdown](../lance-catalog.mdx#predicate-pushdown) for the supported 
scope.
+
+Reading JSON, Duration, Null, and BFloat16 requires the corresponding type 
support in both the FE and the BEs serving the query. Older builds may still 
report these types as unsupported; verify schema discovery and actual reads 
when upgrading.
+
+The following types are not currently supported:
+
+- Non-nullable Arrow `null` fields.
+- Arrow/Lance Extension types not listed as supported, such as Lance Blob v2; 
known extensions with incompatible storage types are also unsupported.
+- Complex types whose child types cannot be mapped recursively.
+- Arrow Dictionary types that preserve the Dictionary marker.
+
+For an unsupported top-level column, `DESC` on a Catalog table and `DESC 
FUNCTION` on a Lance file TVF both preserve the column and display `unknown 
type: UNSUPPORTED_TYPE`. If any child of a complex type cannot be mapped, the 
whole top-level complex column is marked unsupported. Queries can still project 
only supported columns. Doris reports an error during analysis when SQL 
projects an unsupported column. For example:
+
+```sql
+SELECT * EXCEPT(blob_col)
+FROM lance_catalog.default.all_types;
+```
+
+:::note
+Some Lance Java SDK versions may lose the Dictionary marker while reading a 
Schema and expose a Dictionary column as its physical index type. This behavior 
does not mean that Doris supports the logical Dictionary values and must not be 
relied upon.
+:::
+
+Implementation reference: 
[LanceTypeConverter.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/lance/metadata/LanceTypeConverter.java)
 (`branch-4.2`).
diff --git a/versioned_docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx 
b/versioned_docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx
index e99f36db14b..ac0c4f08233 100644
--- a/versioned_docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx
+++ b/versioned_docs/version-4.x/lakehouse/catalogs/paimon-catalog.mdx
@@ -339,26 +339,7 @@ The currently dependent Paimon version is 1.4.2 (1.3.1 
before 4.1.4).
 
 ## Column Type Mapping
 
-| Paimon Type                        | Doris Type    | Comment                 
                                                |
-| ---------------------------------- | ------------- | 
----------------------------------------------------------------------- |
-| boolean                            | boolean       |                         
                                                |
-| tinyint                            | tinyint       |                         
                                                |
-| smallint                           | smallint      |                         
                                                |
-| integer                            | int           |                         
                                                |
-| bigint                             | bigint        |                         
                                                |
-| float                              | float         |                         
                                                |
-| double                             | double        |                         
                                                |
-| decimal(P, S)                      | decimal(P, S) |                         
                                                |
-| varchar                            | string        |                         
                                                |
-| char                               | string        |                         
                                                |
-| binary, varbinary | VARBINARY | Since 4.1.5, this type always maps to 
`VARBINARY`. The `enable.mapping.varbinary` property is retained for 
compatibility; setting it to `false` no longer restores the `STRING` mapping. 
Earlier versions allow the property to select the legacy mapping. |
-| date                               | date          |                         
                                                |
-| timestamp\_without\_time\_zone     | datetime(N)   | Mapped according to 
precision. If precision is greater than 6, it maps to a maximum of 6 (may cause 
precision loss). |
-| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | Since 4.1.5, this type 
always maps to `TIMESTAMPTZ(N)`. The `enable.mapping.timestamp_tz` property is 
retained for compatibility; setting it to `false` no longer restores the 
`DATETIME` mapping. Precision is capped at 6, so higher precision is lost. 
Earlier versions allow the property to select the legacy mapping. |
-| array                              | array         |                         
                                                |
-| map                                | map           |                         
                                                |
-| row                                | struct        |                         
                                                |
-| other                              | UNSUPPORTED   |                         
                                                |
+See [Paimon to Doris Data Type Mapping](paimon-catalog/doris-type-mapping.md) 
for the complete Doris 4.2 mapping table, precision rules, and unsupported 
types.
 
 Doris preserves the exact spelling of quoted top-level columns and nested 
`STRUCT` fields on both Paimon JNI scanner
 paths. Names containing delimiters such as commas (`region,code`), hash signs 
(`nested#value`), colons (`colon:name`),
@@ -374,14 +355,6 @@ Versions before 4.0.8 located columns by exact match when 
reading, so Paimon and
 
 Since 4.1.5, explicit `REFRESH TABLE`, `REFRESH DATABASE`, and `REFRESH 
CATALOG` commands also invalidate the corresponding Paimon SDK caches. After 
external schema changes or dropping and recreating a table, use a refresh 
command to reload metadata. Queries that have already started retain their 
selected snapshot.
 
-:::info Note
-Since 4.1.5, `timestamp_without_time_zone` maps to `DATETIME(N)`, while 
`timestamp_with_local_time_zone` always maps to `TIMESTAMPTZ(N)`. The latter 
represents an instant displayed in the session `time_zone`; 
`enable.mapping.timestamp_tz=false` cannot restore the old mapping.
-
-You can check whether the source type contains timezone information in the 
Extra column of the `DESCRIBE table_name` statement. If it displays 
`WITH_TIMEZONE`, it indicates that the source type is a timezone-aware type. 
(This feature is supported since 3.0.8)
-
-Supported since version 4.0.3, `timestamp_with_local_time_zone` can be mapped 
to Doris `timestamptz` type.
-:::
-
 ## Examples
 
 ### Hive Metastore
diff --git 
a/versioned_docs/version-4.x/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
 
b/versioned_docs/version-4.x/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
new file mode 100644
index 00000000000..4da8d128642
--- /dev/null
+++ 
b/versioned_docs/version-4.x/lakehouse/catalogs/paimon-catalog/doris-type-mapping.md
@@ -0,0 +1,42 @@
+---
+{
+    "title": "Paimon to Doris Data Type Mapping",
+    "sidebar_label": "Doris Data Type Mapping",
+    "description": "Doris 4.2 Paimon type mapping reference covering data 
types, precision, nested types, and unsupported types."
+}
+---
+
+The following table describes how Doris 4.2 (`branch-4.2`) maps Paimon 
external-table schemas when reading. Writes also depend on the target schema 
and supported write operations; the read mapping is not an automatic inverse 
mapping for writes.
+
+| Paimon Type                        | Doris Type    | Comment                 
                                                |
+| ---------------------------------- | ------------- | 
----------------------------------------------------------------------- |
+| boolean                            | boolean       |                         
                                                |
+| tinyint                            | tinyint       |                         
                                                |
+| smallint                           | smallint      |                         
                                                |
+| integer                            | int           |                         
                                                |
+| bigint                             | bigint        |                         
                                                |
+| float                              | float         |                         
                                                |
+| double                             | double        |                         
                                                |
+| decimal(P, S)                      | decimal(P, S) |                         
                                                |
+| varchar(N) | VARCHAR(N) / STRING | `VARCHAR(N)` for `N <= 65533`; otherwise 
`STRING`. |
+| char(N) | CHAR(N) / STRING | `CHAR(N)` for `N <= 255`; otherwise `STRING`. |
+| binary(N), varbinary(N) | VARBINARY(N) | Preserves the declared byte length. 
|
+| date                               | date          |                         
                                                |
+| timestamp_without_time_zone(P) | DATETIME(P) / TIMESTAMP_NS | `DATETIME(P)` 
for `P <= 6`; in 4.2, `P > 6` maps to `TIMESTAMP_NS`, preserving 
sub-microsecond precision. |
+| timestamp\_with\_local\_time\_zone | TIMESTAMPTZ(N) | Since 4.1.5, this type 
always maps to `TIMESTAMPTZ(N)`. Precision is capped at 6, so higher precision 
is lost. |
+| array                              | array         |                         
                                                |
+| map                                | map           |                         
                                                |
+| row                                | struct        |                         
                                                |
+| variant | VARIANT | Reading requires the FE configuration 
`enable_variant_v2=true`. |
+| time_without_time_zone | UNSUPPORTED | |
+| other                              | UNSUPPORTED   |                         
                                                |
+
+## Usage Notes
+
+Child fields of complex types use the same mappings recursively. `TIMESTAMPTZ` 
represents an instant displayed in the session `time_zone`.
+
+Precision handling differs for unzoned and local-zoned timestamps: 4.2 can 
preserve nanoseconds for the former, while the latter is capped at six 
fractional digits. The `TIMESTAMP_NS` range is `1677-09-21 00:12:43.145224192` 
through `2262-04-11 23:47:16.854775807`.
+
+In `DESCRIBE table_name`, `WITH_TIMEZONE` in the Extra column identifies a 
timezone-aware source field.
+
+Implementation reference: 
[PaimonUtil.java](https://github.com/apache/doris/blob/bcaaa5f293674f1adba0dfa52c8f8f57fb5e9549/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonUtil.java)
 (`branch-4.2`).
diff --git a/versioned_docs/version-4.x/lakehouse/file-formats/lance.md 
b/versioned_docs/version-4.x/lakehouse/file-formats/lance.md
index a906718ad1b..11aa759029a 100644
--- a/versioned_docs/version-4.x/lakehouse/file-formats/lance.md
+++ b/versioned_docs/version-4.x/lakehouse/file-formats/lance.md
@@ -15,6 +15,8 @@ Lance support is available starting from Apache Doris 4.2.
 
 [Lance](https://docs.lancedb.com/lance) is a columnar data format designed for 
analytics and AI workloads. Doris can read Lance datasets through a Lance 
Catalog or through the `s3()` and `local()` table-valued functions (TVFs).
 
+For Lance type mappings, see [Doris Data Type 
Mapping](../catalogs/lance-catalog/doris-type-mapping.md).
+
 ## Supported Features
 
 | Feature | Support |
diff --git a/versioned_sidebars/version-4.x-sidebars.json 
b/versioned_sidebars/version-4.x-sidebars.json
index d8bc243771d..48497bb81ec 100644
--- a/versioned_sidebars/version-4.x-sidebars.json
+++ b/versioned_sidebars/version-4.x-sidebars.json
@@ -792,7 +792,17 @@
                 "id": "lakehouse/catalog-overview"
               },
               "items": [
-                "lakehouse/catalogs/hive-catalog",
+                {
+                  "type": "category",
+                  "label": "Hive Catalog",
+                  "link": {
+                    "type": "doc",
+                    "id": "lakehouse/catalogs/hive-catalog"
+                  },
+                  "items": [
+                    "lakehouse/catalogs/hive-catalog/doris-type-mapping"
+                  ]
+                },
                 {
                   "type": "category",
                   "label": "Iceberg Catalog",
@@ -801,6 +811,7 @@
                     "id": "lakehouse/catalogs/iceberg-catalog"
                   },
                   "items": [
+                    "lakehouse/catalogs/iceberg-catalog/doris-type-mapping",
                     "lakehouse/best-practices/doris-iceberg",
                     "lakehouse/best-practices/doris-aws-s3tables",
                     "lakehouse/best-practices/doris-aliyun-oss-tables",
@@ -815,7 +826,17 @@
                     "lakehouse/best-practices/doris-dlf-iceberg"
                   ]
                 },
-                "lakehouse/catalogs/lance-catalog",
+                {
+                  "type": "category",
+                  "label": "Lance Catalog",
+                  "link": {
+                    "type": "doc",
+                    "id": "lakehouse/catalogs/lance-catalog"
+                  },
+                  "items": [
+                    "lakehouse/catalogs/lance-catalog/doris-type-mapping"
+                  ]
+                },
                 {
                   "type": "category",
                   "label": "Paimon Catalog",
@@ -824,6 +845,7 @@
                     "id": "lakehouse/catalogs/paimon-catalog"
                   },
                   "items": [
+                    "lakehouse/catalogs/paimon-catalog/doris-type-mapping",
                     "lakehouse/best-practices/doris-paimon",
                     "lakehouse/best-practices/doris-dlf-paimon"
                   ]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to