Функция Таблицы 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.
Смотрите также