Перейти к основному содержимому
Перейти к основному содержимому

Функция Таблицы url

Функция url создает таблицу из URL с заданным форматом и структурой.

Функция url может использоваться в запросах SELECT и INSERT для данных в таблицах URL.

Синтаксис

Параметры

  • URL — адрес HTTP или HTTPS сервера, который может принимать запросы GET или POST (соответственно для запросов SELECT или INSERT). Тип: String.
  • formatФормат данных. Тип: String.
  • structure — Структура таблицы в формате 'UserID UInt64, Name String'. Определяет имена и типы колонок. Тип: String.
  • headers - Заголовки в формате 'headers('key1'='value1', 'key2'='value2')'. Вы можете установить заголовки для HTTP-вызова.

Возвращаемое значение

Таблица с указанным форматом и структурой, и данными из определенного URL.

Примеры

Получение первых 3 строк таблицы, которая содержит колонки типов String и UInt32 из HTTP-сервера, который отвечает в формате CSV.

Вставка данных из URL в таблицу:

Глобусы в URL

Шаблоны в фигурных скобках { } используются для генерации набора шардов или для указания адресов отказа. Поддерживаемые типы шаблонов и примеры см. в описании функции remote. Символ | внутри шаблонов используется для указания адресов отказа. Они перебираются в том же порядке, в каком указаны в шаблоне. Количество сгенерированных адресов ограничено настройкой glob_expansion_max_elements.

Виртуальные колонки

  • _path — Путь к URL. Тип: LowCardinality(String).
  • _file — Имя ресурса URL. Тип: 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

Настройки хранения

  • engine_url_skip_empty_files - позволяет пропускать пустые файлы при чтении. Отключено по умолчанию.
  • enable_url_encoding - позволяет включать/выключать декодирование/кодирование пути в uri. Включено по умолчанию.

Разрешения

Функция url требует разрешения на CREATE TEMPORARY TABLE. Таким образом, она не будет работать для пользователей с настройкой readonly = 1. Требуется как минимум readonly = 2.

Смотрите также