> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 提供用于访问存储在 Amazon S3、Azure、HDFS 或本地的 Apache Paimon 表的只读类表接口。

# paimon 表函数

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Experimental feature. <u><a href="/docs/beta-and-experimental-features#experimental-features">Learn more.</a></u>
        </div>;
};

提供用于访问存储在 Amazon S3、Azure、HDFS 或本地的 Apache [Paimon](https://paimon.apache.org/) 表的只读类表接口。

<div id="syntax">
  ## 语法
</div>

```sql theme={null}
paimon(url [,access_key_id, secret_access_key] [,format] [,structure] [,compression] [,extra_credentials])

paimonS3(url [,access_key_id, secret_access_key] [,format] [,structure] [,compression] [,extra_credentials])

paimonAzure(connection_string|storage_account_url, container_name, blobpath, [,account_name], [,account_key] [,format] [,compression_method])

paimonHDFS(path_to_table, [,format] [,compression_method])

paimonLocal(path_to_table, [,format] [,compression_method])
```

<div id="arguments">
  ## 参数
</div>

这些参数的说明分别与表函数 `s3`、`azureBlobStorage`、`HDFS` 和 `file` 中对应参数的说明一致。
`format` 表示 Paimon 表中数据文件的格式。

对于 `paimonS3`，可使用可选参数 `extra_credentials` 传递 `role_arn`，以便在 ClickHouse Cloud 中实现基于角色的访问。有关配置步骤，请参见 [安全访问 S3](/zh/products/cloud/guides/data-sources/accessing-s3-data-securely)。

<div id="returned-value">
  ### 返回值
</div>

一个具有指定结构的表，用于读取指定 Paimon 表中的数据。

<div id="defining-a-named-collection">
  ## 定义命名集合
</div>

下面是一个用于存储 URL 和凭据的命名集合配置示例：

```xml theme={null}
<clickhouse>
    <named_collections>
        <paimon_conf>
            <url>http://test.s3.amazonaws.com/clickhouse-bucket/</url>
            <access_key_id>test</access_key_id>
            <secret_access_key>test</secret_access_key>
            <format>auto</format>
            <structure>auto</structure>
        </paimon_conf>
    </named_collections>
</clickhouse>
```

```sql theme={null}
SELECT * FROM paimonS3(paimon_conf, filename = 'test_table')
DESCRIBE paimonS3(paimon_conf, filename = 'test_table')
```

<div id="aliases">
  ## 别名
</div>

表函数 `paimon` 现为 `paimonS3` 的别名。

<div id="virtual-columns">
  ## 虚拟列
</div>

* `_path` — 文件路径。类型：`LowCardinality(String)`。
* `_file` — 文件名。类型：`LowCardinality(String)`。
* `_size` — 文件大小 (以字节为单位) 。类型：`Nullable(UInt64)`。如果文件大小未知，则值为 `NULL`。
* `_time` — 文件的最后修改时间。类型：`Nullable(DateTime)`。如果时间未知，则值为 `NULL`。
* `_etag` — 文件的 ETag。类型：`LowCardinality(String)`。如果 ETag 未知，则值为 `NULL`。

<div id="data-types-supported">
  ## 支持的数据类型
</div>

| Paimon 数据类型                       | ClickHouse 数据类型   |
| --------------------------------- | ----------------- |
| BOOLEAN                           | Int8              |
| TINYINT                           | Int8              |
| SMALLINT                          | Int16             |
| INTEGER                           | Int32             |
| BIGINT                            | Int64             |
| FLOAT                             | Float32           |
| DOUBLE                            | Float64           |
| STRING,VARCHAR,BYTES,VARBINARY    | String            |
| DATE                              | Date              |
| TIME(p),TIME                      | Time('UTC')       |
| TIMESTAMP(p) WITH LOCAL TIME ZONE | DateTime64        |
| TIMESTAMP(p)                      | DateTime64('UTC') |
| CHAR                              | FixedString(1)    |
| BINARY(n)                         | FixedString(n)    |
| DECIMAL(P,S)                      | Decimal(P,S)      |
| ARRAY                             | Array             |
| MAP                               | Map               |

<div id="partition-supported">
  ## 支持的分区键
</div>

Paimon 分区键支持的数据类型：

* `CHAR`
* `VARCHAR`
* `BOOLEAN`
* `DECIMAL`
* `TINYINT`
* `SMALLINT`
* `INTEGER`
* `DATE`
* `TIME`
* `TIMESTAMP`
* `TIMESTAMP WITH LOCAL TIME ZONE`
* `BIGINT`
* `FLOAT`
* `DOUBLE`

<div id="see-also">
  ## 另见
</div>

* [Paimon cluster 表函数](/zh/reference/functions/table-functions/paimonCluster)
