跳到主要内容
跳到主要内容

url 表函数

url 函数从给定的 URL 创建一个具有指定 formatstructure 的表。

url 函数可以在 URL 表上的 SELECTINSERT 查询中使用。

语法

参数

  • URL — 可接受 GETPOST 请求的 HTTP 或 HTTPS 服务器地址(对应于 SELECTINSERT 查询)。类型: String
  • format — 数据的 Format。类型: String
  • structure — 表结构,格式为 'UserID UInt64, Name String'。确定列名和类型。类型: String
  • headers - 以 'headers('key1'='value1', 'key2'='value2')' 格式的头部。可以为 HTTP 调用设置头部。

返回值

一个具有指定格式和结构的表,同时包含来自定义 URL 的数据。

示例

获取来自 HTTP 服务器的包含 StringUInt32 类型列的表的前 3 行,该服务器以 CSV 格式响应。

URL 插入数据到表中:

URL 中的 glob 模式

在大括号 { } 中的模式用于生成一组分片或指定故障转移地址。支持的模式类型和示例请参见 remote 函数的描述。模式内的字符 | 用于指定故障转移地址。它们按模式中列出的顺序进行迭代。生成地址的数量受限于 glob_expansion_max_elements 设置。

虚拟列

  • _pathURL 的路径。类型: LowCardinality(String)
  • _fileURL 的资源名称。类型: LowCardinality(String)
  • _size — 资源的大小(以字节为单位)。类型: Nullable(UInt64)。如果大小未知,值为 NULL
  • _time — 文件的最后修改时间。类型: Nullable(DateTime)。如果时间未知,值为 NULL
  • _headers - HTTP 响应头。类型: Map(LowCardinality(String), LowCardinality(String))

Hive 风格的分区

use_hive_partitioning 设置为 1 时,ClickHouse 将检测路径中的 Hive 风格分区(/name=value/),并允许在查询中将分区列用作虚拟列。这些虚拟列将具有与分区路径中相同的名称,但以 _ 开头。

示例

使用使用 Hive 风格分区创建的虚拟列

存储设置

另见