функция url creates a table from the URL with given format and structure.
функция url may be used in SELECT and INSERT queries on data in URL tables.
Таблица в указанном формате и с указанной структурой, содержащая данные из заданного URL.
Получение первых 3 строк таблицы, содержащей столбцы типа String и UInt32, с HTTP-сервера, который возвращает данные в формате CSV.
Вставка данных из 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
Разрешение относительных URL
Настройка url_base позволяет передавать в функцию url относительный URL. Когда задан url_base и аргумент функции представляет собой относительную ссылку, она разрешается относительно базового URL в соответствии с RFC 3986.
Правила разрешения:
- Относительный путь (например,
data.csv): объединяется с путем базового URL — всё после последнего / в базовом пути заменяется. Наличие завершающего слеша имеет значение: https://example.com/dir/ + data.csv дает https://example.com/dir/data.csv, а https://example.com/dir + data.csv дает https://example.com/data.csv. Сегменты с точками (./ и ../) нормализуются.
- Относительный к хосту (например,
/test/data.csv): разрешается с использованием схемы и хоста базового URL.
- Относительный к схеме (например,
//other.com/test/data.csv): разрешается с использованием схемы базового URL.
- Только запрос (например,
?x=1): добавляется к полному базовому пути, заменяя существующие запрос или фрагмент.
- Только фрагмент (например,
#frag): добавляется к базовому URL с сохранением запроса и заменой существующего фрагмента.
- Пустой: возвращает базовый URL без фрагмента.
- Абсолютный URL: передается без изменений;
url_base игнорируется.
Пример
- engine_url_skip_empty_files - позволяет пропускать пустые файлы при чтении. По умолчанию отключено.
- enable_url_encoding - позволяет включать и отключать декодирование/кодирование пути в URI. По умолчанию включено.
- url_base - базовый URL для разрешения относительных URL, передаваемых в функцию
url.
Для функции url требуется разрешение CREATE TEMPORARY TABLE. Поэтому она не будет работать для пользователей с настройкой readonly = 1. Требуется значение readonly не ниже 2.
Последнее изменение 2 июля 2026 г.