ClickHouse/docs/es/engines/table-engines/special/url.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* 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
2020-05-15 07:34:54 +03:00

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 y SELECT...SAMPLE operación.
    • Índices.
    • Replicación.

Artículo Original