Функция Таблицы 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)).
Настройка 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.