ClickHouse/docs/fr/sql-reference/table-functions/remote.md
2020-10-13 20:23:29 +03:00

4.0 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 40 distant

à distance, remoteSecure

Vous permet d'accéder à des serveurs distants sans Distributed table.

Signature:

remote('addresses_expr', db, table[, 'user'[, 'password']])
remote('addresses_expr', db.table[, 'user'[, 'password']])
remoteSecure('addresses_expr', db, table[, 'user'[, 'password']])
remoteSecure('addresses_expr', db.table[, 'user'[, 'password']])

addresses_expr An expression that generates addresses of remote servers. This may be just one server address. The server address is host:port ou juste host. L'hôte peut être spécifié comme nom de serveur ou l'adresse IPv4 ou IPv6. Une adresse IPv6 est indiquée entre crochets. Le port est le port TCP sur le serveur distant. Si le port est omis, il utilise tcp_port à partir du fichier de configuration du serveur (par défaut, 9000).

!!! important "Important" Le port est requis pour une adresse IPv6.

Exemple:

example01-01-1
example01-01-1:9000
localhost
127.0.0.1
[::]:9000
[2a02:6b8:0:1111::11]:9000

Plusieurs adresses séparées par des virgules. Dans ce cas, ClickHouse utilisera le traitement distribué, donc il enverra la requête à toutes les adresses spécifiées (comme les fragments avec des données différentes).

Exemple:

example01-01-1,example01-02-1

Une partie de l'expression peut être spécifiée entre crochets. L'exemple précédent peut être écrite comme suit:

example01-0{1,2}-1

Les accolades peuvent contenir une plage de Nombres séparés par deux points (entiers non négatifs). Dans ce cas, la gamme est étendue à un ensemble de valeurs qui génèrent fragment d'adresses. Si le premier nombre commence par zéro, les valeurs sont formées avec le même alignement zéro. L'exemple précédent peut être écrite comme suit:

example01-{01..02}-1

Si vous avez plusieurs paires d'accolades, il génère le produit direct des ensembles correspondants.

Les adresses et les parties d'adresses entre crochets peuvent être séparées par le symbole de tuyau (|). Dans ce cas, les ensembles correspondants de adresses sont interprétés comme des répliques, et la requête sera envoyée à la première sain réplique. Cependant, les répliques sont itérées dans l'ordre actuellement défini dans équilibrage paramètre.

Exemple:

example01-{01..02}-{1|2}

Cet exemple spécifie deux fragments qui ont chacun deux répliques.

Le nombre d'adresses générées est limitée par une constante. En ce moment, c'est 1000 adresses.

À l'aide de la remote la fonction de table est moins optimale que la création d'un Distributed table, car dans ce cas, la connexion au serveur est rétablie pour chaque requête. En outre, si des noms d'hôte, les noms sont résolus, et les erreurs ne sont pas comptés lors de travail avec diverses répliques. Lors du traitement d'un grand nombre de requêtes, créez toujours Distributed table à l'avance, et ne pas utiliser la remote table de fonction.

Le remote table de fonction peut être utile dans les cas suivants:

  • Accès à un serveur spécifique pour la comparaison de données, le débogage et les tests.
  • Requêtes entre différents clusters ClickHouse à des fins de recherche.
  • Demandes distribuées peu fréquentes qui sont faites manuellement.
  • Distribué demandes où l'ensemble des serveurs est redéfinie à chaque fois.

Si l'utilisateur n'est pas spécifié, default est utilisée. Si le mot de passe n'est spécifié, un mot de passe vide est utilisé.

remoteSecure - la même chose que remote but with secured connection. Default port — tcp_port_secure de config ou 9440.

Article Original