ClickHouse/docs/fr/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, Format)

Gère les données sur un serveur HTTP / HTTPS distant. Ce moteur est similaire à l' Fichier moteur.

Utilisation du moteur dans le serveur ClickHouse

Le format doit être celui que ClickHouse peut utiliser dans SELECT les requêtes et, si nécessaire, en INSERTs. Pour la liste complète des formats pris en charge, voir Format.

Le URL doit être conforme à la structure D'un Localisateur de ressources uniforme. L'URL spécifiée doit pointer vers un serveur qui utilise le protocole HTTP ou HTTPS. Cela ne nécessite pas de en-têtes supplémentaires pour obtenir une réponse du serveur.

INSERT et SELECT les requêtes sont transformées en POST et GET demande, respectivement. Pour le traitement POST demandes, le serveur distant doit prendre en charge Encodage de transfert en morceaux.

Vous pouvez limiter le nombre maximal de sauts de redirection HTTP GET en utilisant max_http_get_redirects paramètre.

Exemple:

1. Créer un url_engine_table table sur le serveur :

CREATE TABLE url_engine_table (word String, value UInt64)
ENGINE=URL('http://127.0.0.1:12345/', CSV)

2. Créez un serveur HTTP de base à l'aide des outils Python 3 standard et démarrer:

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. Les données de la demande:

SELECT * FROM url_engine_table
┌─word──┬─value─┐
│ Hello │     1 │
│ World │     2 │
└───────┴───────┘

Les détails de mise en Œuvre

  • Les lectures et les écritures peuvent être parallèles
  • Pas pris en charge:
    • ALTER et SELECT...SAMPLE opérations.
    • Index.
    • Réplication.

Article Original