Табличная функция url
Функция url создаёт таблицу на основе URL с заданными format и structure.
Функция 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-адреса.
Примеры
Получение первых трёх строк таблицы, содержащей столбцы типов 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)).
настройка use_hive_partitioning
Когда настройка 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.