ClickHouse/docs/es/engines/table-engines/special/url.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

2.6 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 3e185d24c9 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 De 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 y SELECT...SAMPLE operación.
    • Índices.
    • Replicación.

Artículo Original