| 页面 | 说明 |
|---|---|
| azureBlobStorage | 提供类表接口,用于在 Azure Blob 存储中查询/插入文件。类似于 s3 函数。 |
| azureBlobStorageCluster | 允许在指定集群中通过多个节点并行处理 Azure Blob 存储中的文件。 |
| clusterAllReplicas | 允许访问集群的所有分片 (在 remote_servers 部分中配置) ,无需创建 Distributed 表。 |
| deltaLake | 为 Amazon S3 中的 Delta Lake 表提供只读的类表接口。 |
| deltaLakeCluster | 这是 deltaLake 表函数的扩展。 |
| dictionary | 将字典数据显示为 ClickHouse 表。其工作方式与 Dictionary engine 相同。 |
| executable | executable 表函数根据用户自定义函数 (UDF) 的输出创建表,该函数由你在脚本中定义,并将行输出到 stdout。 |
| file | 一种表引擎,提供类似 S3 表函数的类表接口,用于从文件中 SELECT 和向文件中 INSERT。处理本地文件时使用 file(),处理 S3、GCS 或 MinIO 等对象存储中的 bucket 时使用 s3()。 |
| fileCluster | 支持在集群内多个节点上同时处理与指定路径匹配的文件。initiator 会与工作节点建立连接,展开文件路径中的通配符,并将文件读取任务分派给工作节点。每个工作节点都会向 initiator 请求下一个要处理的文件,如此反复,直到所有任务完成 (即所有文件都已读取) 。 |
| filesystem | 提供对文件系统的访问,用于列出文件并返回其元数据和内容。 |
| format | 根据指定的输入 format 从参数中解析数据。如果未指定 structure 参数,则会从数据中提取。 |
| gcs | 提供类表接口,用于从 Google Cloud Storage 中 SELECT 和 INSERT 数据。需要 Storage Object User IAM role。 |
| fuzzQuery | 对给定的查询字符串进行随机扰动。 |
| fuzzJSON | 对 JSON 字符串进行随机扰动。 |
| generateRandom | 根据给定的 schema 生成随机数据。可用这些数据填充测试表。并非所有类型都受支持。 |
| mergeTreeTextIndex | 表示 MergeTree 表中文本索引的字典。可用于内部信息查看。 |
| mergeTreeProjection | 表示 MergeTree 表中某个 projection 的内容。可用于内部信息查看。 |
| mergeTreeIndex | 表示 MergeTree 表的索引和 marks 文件的内容。可用于内部信息查看。 |
| hdfs | 从 HDFS 中的文件创建表。此表函数类似于 url 和 file 表函数。 |
| hdfsCluster | 允许在指定集群中通过多个节点并行处理 HDFS 中的文件。 |
| hudi | 为 Amazon S3 中的 Apache Hudi 表提供只读的类表接口。 |
| ytsaurus | 该表函数允许从 YTsaurus 集群读取数据。 |
| hudiCluster Table Function | hudi 表函数的扩展。允许在指定集群中通过多个节点并行处理 Amazon S3 中 Apache Hudi 表的文件。 |
| iceberg | 为存储在 Amazon S3、Azure、HDFS 或本地的 Apache Iceberg 表提供只读的类表接口。 |
| paimon | 为存储在 Amazon S3、Azure、HDFS 或本地的 Apache Paimon 表提供只读的类表接口。 |
| icebergCluster | iceberg 表函数的扩展,允许在指定集群中通过多个节点并行处理 Apache Iceberg 的文件。 |
| paimonCluster | paimon 表函数的扩展,允许在指定集群中通过多个节点并行处理 Apache Paimon 的文件。 |
| input | 该表函数可高效地将发送到 server 且具有给定结构的数据转换后插入到具有另一种结构的表中。 |
| jdbc | 返回一个通过 JDBC 驱动连接的表。 |
| merge | 创建一个临时 Merge 表。其结构将通过对底层表的列求并集并推导公共类型得出。 |
| mongodb | 允许对存储在远程 MongoDB 服务器上的数据执行 SELECT 查询。 |
| mysql | 允许对存储在远程 MySQL 服务器上的数据执行 SELECT 和 INSERT 查询。 |
| null | 使用 Null table engine 创建具有指定结构的临时表。该函数便于编写测试和进行演示。 |
| timeSeriesMetrics | timeSeriesMetrics 返回表 db_name.time_series_table 使用的 metrics 表,该表的表引擎为 TimeSeries。 |
| timeSeriesSelector | 从 TimeSeries 表中读取由选择器过滤且时间戳位于指定时间间隔内的时间序列。 |
| timeSeriesTags | timeSeriesTags 表函数返回表 db_name.time_series_table 使用的 tags 表,该表的表引擎为 TimeSeries。 |
| prometheusQueryRange | 使用 TimeSeries 表中的数据对 Prometheus 查询进行求值。 |
| zeros | 用于测试,是生成大量行的最快方法。类似于 system.zeros 和 system.zeros_mt 系统表。 |
| primes | 返回一个仅包含单个 prime 列的表,该列包含质数。 |
| timeSeriesData | timeSeriesData 返回表 db_name.time_series_table 使用的数据表,该表的表引擎为 TimeSeries。 |
| numbers | 返回一个仅包含单个 number 列的表,该列包含一系列整数。 |
| prometheusQuery | 使用 TimeSeries 表中的数据对 Prometheus 查询进行求值。 |
| generate_series (generateSeries) | 返回一个仅包含 generate_series 列 (UInt64) 的表,该列包含从 start 到 stop (含两端) 的整数。 |
| odbc | 返回通过 ODBC 连接的表。 |
| postgresql | 允许对存储在远程 PostgreSQL 服务器上的数据执行 SELECT 和 INSERT 查询。 |
| redis | 此表函数允许将 ClickHouse 与 Redis 集成。 |
| remote, remoteSecure | 表函数 remote 允许动态访问远程服务器,即无需创建分布式表。表函数 remoteSecure 与 remote 类似,但通过安全连接访问。 |
| s3 Table Function | 提供表格式接口,用于在 Amazon S3 和 Google Cloud Storage 中查询/插入文件。该表函数类似于 hdfs 函数,但提供了 S3 特有的功能。 |
| s3Cluster | 这是对 s3 表函数的扩展,允许指定 cluster 中的多个节点并行处理来自 Amazon S3 和 Google Cloud Storage 的文件。 |
| sqlite | 允许对存储在 SQLite 数据库中的数据执行查询。 |
| arrowFlight | 允许对通过 Apache Arrow Flight 服务器公开的数据执行查询。 |
| url | 使用给定的 format 和 structure 从 URL 创建表。 |
| urlCluster | 允许指定 cluster 中的多个节点并行处理来自 URL 的文件。 |
| view | 将子查询转换为表。该函数实现视图。 |
| values | 创建一个临时存储,并用值填充各列。 |
| loop | ClickHouse 中的 loop 表函数用于以无限循环方式返回查询结果。 |
用法
SELECT 查询的 FROM
子句中。例如,你可以使用 file 表函数从本地
计算机上的文件中 SELECT 数据。
Query
Response
Query
Response
Query
Query
Response
INSERT 到表中。例如,
我们可以再次使用 file 表函数,将前一个示例中创建的表的内容
写入磁盘上的文件:
Query
Query
如果 allow_ddl 设置已禁用,则无法使用表函数。