* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
2.6 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
41 | URL |
URL(URL, Formato)
Administra datos en un servidor HTTP/HTTPS remoto. Este motor es similar a la File motor.
Uso del motor en el servidor ClickHouse
El format
debe ser uno que ClickHouse pueda usar en
SELECT
consultas y, si es necesario, en INSERTs
. Para obtener la lista completa de formatos admitidos, consulte
Formato.
El URL
debe ajustarse a la estructura de un localizador uniforme de recursos. La dirección URL especificada debe apuntar a un servidor
que utiliza HTTP o HTTPS. Esto no requiere ningún
encabezados adicionales para obtener una respuesta del servidor.
INSERT
y SELECT
las consultas se transforman en POST
y GET
peticiones,
respectivamente. Para el procesamiento POST
solicitudes, el servidor remoto debe admitir
Codificación de transferencia fragmentada.
Puede limitar el número máximo de saltos de redirección HTTP GET utilizando el Nombre de la red inalámbrica (SSID): configuración.
Ejemplo:
1. Crear un url_engine_table
tabla en el servidor :
CREATE TABLE url_engine_table (word String, value UInt64)
ENGINE=URL('http://127.0.0.1:12345/', CSV)
2. Cree un servidor HTTP básico utilizando las herramientas estándar de Python 3 y comenzarlo:
from http.server import BaseHTTPRequestHandler, HTTPServer
class CSVHTTPServer(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/csv')
self.end_headers()
self.wfile.write(bytes('Hello,1\nWorld,2\n', "utf-8"))
if __name__ == "__main__":
server_address = ('127.0.0.1', 12345)
HTTPServer(server_address, CSVHTTPServer).serve_forever()
$ python3 server.py
3. Solicitar datos:
SELECT * FROM url_engine_table
┌─word──┬─value─┐
│ Hello │ 1 │
│ World │ 2 │
└───────┴───────┘
Detalles de la implementación
- Las lecturas y escrituras pueden ser paralelas
- No soportado:
ALTER
ySELECT...SAMPLE
operación.- Índices.
- Replicación.