url
Функция url
берет данные по указанному адресу URL
и создает из них таблицу указанной структуры со столбцами указанного формата.
Функция url
может быть использована в запросах SELECT
и INSERT
с таблицами на движке URL.
Синтаксис
url(URL [,format] [,structure])
Параметры
URL
— HTTP или HTTPS-адрес сервера, который может принимать запросыGET
илиPOST
(для запросовSELECT
илиINSERT
соответственно). Тип: String.format
— формат данных. Тип: String.structure
— структура таблицы в формате'UserID UInt64, Name String'
. Определяет имена и типы столбцов. Тип: String.headers
- HTTP-заголовки в формате'headers('key1'='value1', 'key2'='value2')'
. Определяет заголовки для HTTP вызова.
Возвращаемое значение
Таблица с указанными форматом и структурой, а также с данными, полученными из указанного адреса URL
.
Примеры
Получение с HTTP-сервера первых 3 строк таблицы с данными в формате CSV, содержащей столбцы типа String и UInt32.
SELECT * FROM url('http://127.0.0.1:12345/', CSV, 'column1 String, column2 UInt32', headers('Accept'='text/csv; charset=utf-8')) LIMIT 3;
Вставка данных в таблицу:
CREATE TABLE test_table (column1 String, column2 UInt32) ENGINE=Memory;
INSERT INTO FUNCTION url('http://127.0.0.1:8123/?query=INSERT+INTO+test_table+FORMAT+CSV', 'CSV', 'column1 String, column2 UInt32') VALUES ('http interface', 42);
SELECT * FROM test_table;
Символы подстановки в URL {globs-in-url}
Шаблоны в фигурных скобках { }
используются, чтобы сгенерировать список шардов или указать альтернативные адреса на случай отказа. Поддерживаемые типы шаблонов и примеры смотрите в описании функции remote.
Символ |
внутри шаблонов используется, чтобы задать адреса, если предыдущие оказались недоступны. Эти адреса перебираются в том же порядке, в котором они указаны в шаблоне. Количество адресов, которые могут быть сгенерированы, ограничено настройкой glob_expansion_max_elements.
Виртуальные столбцы
_path
— Путь доURL
._file
— Имя ресурсаURL
.
Смотрите также